如何防止Wordpress中的SQL注入?

bar*_*way 7 sql security wordpress sql-injection

我目前正在使用以下查询来使用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." 

    "
);
?>
Run Code Online (Sandbox Code Playgroud)

这样安全吗?

<?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.")
);
?>
Run Code Online (Sandbox Code Playgroud)

rne*_*ius 14

从WordPress Codex保护查询免受SQL注入攻击:

<?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
Run Code Online (Sandbox Code Playgroud)

如果你向下滚动一点,有一些例子.

您还应该阅读数据库验证文档 ,以更全面地了解WordPress中的SQL转义.