2012-05-30 105 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等..

好運!