如果我們使用最安全的方式執行查詢,例如準備好的語句或參數化查詢以防止SQL注入攻擊,那麼是否可以保證在執行時沒有發生任何數據庫錯誤?例如 ,在插入記錄時發送給定類型的無效參數,導致錯誤而不是使用默認值。你能舉一個例子嗎?是否存在缺少sql注入攻擊的錯誤?
0
A
回答
0
例如,參數化查詢不會阻止數據庫錯誤是用戶可以提供輸入,只要它不適合數據庫類型,例如在用戶名字段中限制爲50個字符的100,000字的短文。
此外,參數化查詢不會防止重複的主鍵錯誤,如果說他們在註冊表單上請求的用戶名已被使用。
參數化查詢只保證值不會被解釋爲SQL,它不會阻止錯誤任何其他的形式(如SQL語句失敗,因爲數據庫的磁盤空間)
+0
謝謝,重複主鍵是一個很好的例子。 – ahoo 2012-02-05 14:34:34
0
這取決於你使用的數據庫,但是一般來說,根據類型等發生的轉換通常是隱含的,所以你可以很好地傳遞可能在運行時失敗的字符串以轉換爲適當的價值。
就SQL注入攻擊而言,只要您不希望參數包含您隨後動態調用的SQL,就很安全。
0
不,不能保證某些運行時錯誤(認爲,'觸發'如果沒有別的)會熄滅。
相關問題
- 1. 這些SQL查詢中是否存在SQL注入攻擊?
- 2. Sql注入 - 下面是否有攻擊?
- 3. SQL注入攻擊
- 4. SQL注入攻擊
- 5. 使用存儲過程是否防止SQL注入/ XSXX攻擊?
- 6. SQL注入攻擊asp.net
- 7. SQL注入攻擊和django
- 8. Erlang和SQL注入攻擊
- 9. 這是一個SQL注入攻擊
- 10. SQL Server 2008表值是否容易受到SQL注入攻擊?
- 11. Spring JDBC是否提供對SQL注入攻擊的防護?
- 12. SQL注入嘗試 - 我的代碼是否易受攻擊?
- 13. Linq到sql和sql注入攻擊
- 14. 本機SQL查詢 - SQL注入攻擊
- 15. FILTER_SANITIZE_STRING是否足以避免SQL注入和XSS攻擊?
- 16. 測試一個網站是否易受Sql注入攻擊
- 17. hibernate命名查詢是否可以防止SQL注入攻擊?
- 18. 此登錄代碼是否容易受到SQL注入攻擊?
- 19. 此代碼是否容易受到SQL注入攻擊?
- 20. SQLiteDatabase.insert()是否可以防止SQL注入攻擊?
- 21. 這個字符串是否能夠抵抗SQL注入攻擊?
- 22. Hibernate查詢是否容易受到SQL注入攻擊
- 23. 此代碼是否安全,不受任何SQL注入攻擊?
- 24. 這段代碼是否容易出現sql注入攻擊?
- 25. 最常用的SQL注入攻擊
- 26. JavaScript注入攻擊
- 27. 口譯在注入攻擊
- 28. 測試一個SQL注入攻擊
- 29. Sql注入攻擊和亞音速
- 30. SQL注入攻擊 - 使用mysqli_multi_query()
是,程序員錯誤可能導致數據庫損壞。準備好的陳述不會阻止這一點。 – 2012-02-05 14:25:47
是的,這是由開發人員,你應該把所有必要的驗證和異常處理代碼 – Devjosh 2012-02-05 14:27:49