2014-11-05 5 views
4

PHP를 사용하여 mysql에서 값을 가져 오는 데 다음 쿼리를 사용하고 있습니다.Wordpress에서 SQL 주입을 방지하는 방법?

코드가 작동하지만 이제 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." 

    " 
); 
?> 

이 안전합니까? WordPress Codex on protecting queries against SQL Injection attacks에서

<?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.") 
); 
?> 

답변

10

:

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

당신이 멀리 조금 아래로 스크롤하면 examples있다.

WordPress의 SQL 이스케이프에 대한 자세한 내용은 database validation docs을 참조하십시오.

관련 문제