我陷入了一個SQL注入問題。我的頁面顯示如下表的數據:SQL注入|更改ID值
<input type="checkbox" name="id[]" value="<?php echo $row['id']; ?>" /><?php echo $row['data']; ?><br />
我怎麼能肯定的是,提交的值是該特定行的id的不是一個隨機數「注射」的頁面?
很顯然,我將開始檢查該ID返回真到is_numeric()
/通過mysql_real_escape_string().
得到它。然後,我想到了兩個選項:
添加一個隱藏的輸入與副本的$ row ['data'],這樣我就可以在 之前檢查id和數據之間的對應關係
mysql_query()
將行的ID從一個自動遞增的數字改爲一個大的隨機數,這樣我就可以降低幸運命中的機率。
我有錯嗎?有什麼更好的想法 感謝您的幫助!
我首先閱讀[如何防止SQL注入PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)和[爲什麼我不應該在PHP中使用mysql_ *函數?](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – 2013-08-21 00:32:50
感謝您的提示! – Greg