請閱讀完全第一示例代碼來解決這個特定的SQL注入孔
在這樣的回答:How to prevent SQL injection with dynamic tablenames?
佩卡·指出爲什麼這個代碼:
$clas=$_POST['clas'];
$query="SELECT * FROM $clas ";
不能被修復使用PDO或mysql-real_escape_string()
。
誰能請提供示例代碼如何解決這個問題這樣一個新手可以粘貼代碼
(後/它調整他的需要)並從SQL注入安全。
請不要解釋SQL注入,我都知道注射和PDO,我只需要示例代碼
我認爲Pekka,在OP鏈接的另一個線程中接受的回答者,實際上暗示了這一點(或者更確切地說,限制爲一個列表,如SHOW TABLE查詢)。所以在這方面,這是更嚴格的,幾乎Pekka批准(tm) – horatio 2011-05-18 21:29:00
我建議在'$ clas'附近添加反引號,以防萬一用戶想使用保留字作爲表名。 – Johan 2011-05-19 19:08:14
@Johan補充,謝謝。 – 2011-05-19 19:11:39