0
A
回答
2
不,如果您正確使用PDOStatement
,您絕對不需要addslashes
。您不需要額外的清理來防止SQL注入。但是,您可能仍然希望以其他方式進行驗證。例如,您可能會檢查電子郵件字段「看起來像」電子郵件地址,或確保純文本字段不包含某些字符。最後,當您從輸出文本數據庫時,您可能必須轉義(例如,使用htmlspecialchars
)。
+0
但是當我重新查詢數據時,我仍然需要使用stripslashes嗎? – Catfish 2010-09-24 01:37:31
+2
@Catfish,不,你的數據庫不應該包含斜線轉義的數據。 – 2010-09-24 01:38:17
相關問題
- 1. angularjs字符串變量使用消毒
- 2. mysql_real_escape_string()沒有消毒變量
- 3. PDO password_verify,我需要消毒嗎?
- 4. PDO&消毒日期/刪除HTML
- 5. 消毒變量在PHP中AngularJS
- 6. PHP輸入GET變量消毒
- 7. 消毒PHP變量,我過度使用它嗎?
- 8. 使用php消毒JSON
- 9. 使用AEM消毒輸入
- 10. 在使用PDO時重用變量
- 11. PHP PDO查詢不能使用變量?
- 12. PDO exec不想使用變量
- 13. 使用PDO設置MySQL會話變量()
- 14. PDO和變量php
- 15. 從變量中消毒正則表達式構造
- 16. CheckMarx正在給變量應該被消毒和驗證
- 17. 消毒PHPSESSID
- 18. VBScript SQL消毒
- 19. 消毒在Perl
- 20. JavaScript消毒庫
- 21. 消毒Vaadin RichTextArea
- 22. HTML消毒,限制圖像數量
- 23. 使用jQuery消毒代碼注入
- 24. 消毒整數時使用intval&real_escape_string
- 25. 使用XSLT消毒數據庫輸入
- 26. 使用libpq/libpqxx輸入消毒
- 27. 使用javascript/mootools輸入消毒功能?
- 28. 消毒MySQL用戶參數
- 29. 消毒用角翻譯
- 30. 用於HTML消毒的庫
PDO沒有銀彈。如果你使用SQL連接'name = $ name',而不是像'?,name = ?, id =?或:名稱「,那麼你什麼都沒有實現。 – mario 2010-09-24 02:34:41
我使用:名稱,但名稱和名稱=之間有什麼不同? – Catfish 2010-09-24 14:14:15