2012-05-30 100 views
0

的时候如果我有这样的一段代码暴露与SQL注入瓦尔的内容:处理异常

query.php:

$secret = 'This should not be displayed'; 
$id = mysql_real_escape_string($_GET['id']); 
try { 
    mysql_query("SELECT * FROM USERS WHERE USER_ID = '$id'"); 
    } 

catch(Exception $e) { 
    echo "Could not execute" . "SELECT * FROM USERS WHERE USER_ID = '$id'"; 
} 

$ ID是正确转义,所以没有人可以注入任何代码到我的查询,但是,我想知道如果我GET query.php?id=$secret是否会回应$secret var的内容,因为异常处理部分中的回显?

+0

你为什么不尝试呢? –

+0

@Uriel_SVK - 我在工作,对此非常好奇,但无法尝试,直到我回家;) – user838437

+0

不,我不能看到任何东西会回应$秘密。身份证使用mysqli或PDO是安全的,虽然 – allen213

回答

0

您正在使用运行安全;)

如果您$id是整把(int)$id$id + 0等..

好运!