我目前使用以下查询通过php在mysql中获取值:
代码正在工作,但现在我担心sql注入。
如何防止SQL注入?
<?php include_once("wp-config.php");
@$gameid = $_GET['gameid'];
global $wpdb;
$fivesdrafts = $wpdb->get_results(
"
SELECT ID
FROM $wpdb->posts
WHERE ID = ".$gameid."
"
);
?>这个安全吗?
<?php include_once("wp-config.php");
@$gameid = mysql_real_escape_string($_GET['gameid']);
global $wpdb;
$fivesdrafts = $wpdb->get_results(
$wpdb->prepare(
"
SELECT ID
FROM $wpdb->posts
WHERE ID = %d", ".$gameid.")
);
?>发布于 2014-11-05 17:21:21
从WordPress Codex on protecting queries against SQL Injection attacks
<?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>如果你再往下滚动一点,就会看到examples。
您还应该阅读database validation docs,以获得有关WordPress中SQL转义的更全面的概述。
https://stackoverflow.com/questions/26753146
复制相似问题