我读过几个关于这方面的话题,不同的人对最佳实践有不同的看法。
就WordPress而言,如何以最安全的方式将数据写入数据库?
这是我现在使用的一个插入:
$result = $wpdb->insert(
$table_name ,
array(
\'arena\' => $galleryData[\'arena\'],
\'year\' => substr( $galleryData[\'season\'], 2 ),
\'copyright\' => $galleryData[\'copyright\'],
\'description\' => $galleryData[\'description\'],
\'path\' => $galleryData[\'path\'],
\'fk_brand_id\' => $galleryData[\'brand\']
),
array( \'%s\', \'%d\', \'%s\', \'%s\', \'%s\', \'%d\' )
);
插入数据的另一种方法是:
$sanitized_sql = $wpdb->prepare( "
INSERT INTO my_plugin_table
SET
field1 = %1$d,
field2 = %2$s,
field3 = %3$s’,
32,
\'Aaron Brazell\',
\'Washington, D.C\'
" );
$wpdb->query( $sanitized_sql );
我是否仍需要使用清理数据
wp_kses()
或
mysql_real_escape_string()
?
我只是不知道什么方法更适合安全地将数据写入数据库。我发现了一个有用的answer on Stack Overflow.
So should I or should I not sanitize data before input?