2
A
回答
1
應使用mysql_real_escape_string()當你正在構建,將針對數據庫運行的查詢。任何用於構建數據庫查詢的用戶輸入都應通過此函數運行。這將防止SQL注入攻擊。
用戶輸入是你關心的大面積,當談到這一點。
0
始終,除了整數,還有你使用intval()
2
當你插入一個字符串的值轉換成SQL語句,你所使用的MySQL API您應該使用mysql_real_escape_string。
$sql = "SELECT * FROM student WHERE foo = '" . $foo . "'";
應該是:
$sql = "SELECT * FROM student WHERE foo = '" .
mysql_real_escape_string($foo) . "'";
但是你也應該考慮使用PDO預處理語句和綁定參數,而不是mysql_real_escape_string
。這減少了錯誤的風險。
相關問題
- 1. Grails mysql_real_escape_string相當於
- 2. 何時使用mysql_real_escape_string()
- 3. 不能使用mysql_real_escape_string
- 4. mysql_real_escape_string不能使用'
- 5. 交易中使用mysql_real_escape_string
- 6. 使用mysql_real_escape_string返回空
- 7. 我正在使用mysql_real_escape_string嗎?
- 8. 用mysql_real_escape_string掙扎
- 9. 使用magic_quotes()會影響mysql_real_escape_string()的使用
- 10. 當magic_quotes_gpc打開時,是否有必要使用mysql_real_escape_string()?
- 11. C#相當於php mysql_real_escape_string函數?
- 12. mysql_real_escape_string沒有應用
- 13. htmlentities mysql_real_escape_string
- 14. mysql_real_escape_string和'
- 15. 使用mysql_real_escape_string清除我的查詢
- 16. 使用mysql_real_escape_string和stripslashes避免SQL注入
- 17. 如何使用mysql_real_escape_string作爲數組?
- 18. 使用base64_encode而不是mysql_real_escape_string安全嗎?
- 19. 使用mysql_real_escape_string()存儲並顯示代碼;
- 20. 在mysqli連接中使用mysql_real_escape_string函數
- 21. 使用mysql_real_escape_string()的數據提取
- 22. 在IN子句中使用mysql_real_escape_string
- 23. 我可以使用mysql_real_escape_string和strip_tags嗎?
- 24. mysql_real_escape_string不適用於我
- 25. php的mysql_real_escape_string不起作用?
- 26. MySQL QUOTE()vs mysql_real_escape_string()?
- 27. 替代mysql_real_escape_string(access_denied)
- 28. 警告:mysql_real_escape_string()?
- 29. SQL注入mysql_real_escape_string
- 30. 錯誤的mysql_real_escape_string()
一個很好的資源已經在這裏對SQL注入http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php – DeaconDesperado 2011-03-11 20:40:04