在PHP 5.5中,您有以下函数
mysql_real_escape_string()
我一直都是这样
htmlspecialchars(mysql_real_escape_string($_POST[\'...]));
以防止SQL注入。
在PHP 7中,mysql\\u real\\u escape\\u string()消失了。另一种选择是
mysqli_real_escape_string()
但该函数需要一个指向mysqli对象的链接。使用WordPress执行以下查询时:
$query_args = array( \'s\' => $_POST[\'search\'] );
$query = new WP_Query( $query_args );
我无法提供mysqli对象。那么我必须把所有的安全工作交给WordPress吗?是否足以做到:
$query_args = array( \'s\' => htmlspecialchars( $_POST[\'search\'] ) );
$query = new WP_Query( $query_args );
?