2
A
回答
4
我會說這是更好地存儲在數據庫中的準確數據,並正確,當你需要顯示它逃脫它。如果您稍後想要使用其他危險字符和轉義可能不同的介質進行顯示,這會使事情變得更加容易。
也有一些其他的問題,依靠定製的「清洗」功能,而不是使用標準庫爲您的語言提供的逃逸功能。
不必要的限制 - 如果,例如,你總是刪除<script>
標籤的人將無法說話,指出網站<script>
標籤,像我一樣剛纔。這可能對一些網站很好,但不是其他網站。
微妙的錯誤 - 如果您編寫自己的「清理」功能,您可能會錯過一些您沒有考慮過的危險輸入。一個例子是用一個空字符串替換<script>
,但忘記了用戶可以輸入<scri<script>pt>
,其中置換後,將成爲<script>
。使用內置的轉義函數通常可以正常工作,因爲它們(有希望)是由經驗豐富的程序員編寫的,經過良好測試並在安全性非常重要的其他數千個系統中使用。
特殊情況 - 如果你決定要清理例如通過移除所有字符串'<'
和'>'
所有輸入存儲它們之前,你可能會發現早晚至少有一個特定的字段不能被清除,因爲那些字符在這個字段中是絕對必要的,所以你必須改寫它。現在您已經創建了一種情況,您必須記住您是否應該對數據應用轉義。這會增加錯誤發生的機率,並且很難在代碼中一目瞭然地查看您是否忘記了逃脫或者是否無需轉義其中一個字段。
相關問題
- 1. 關於MySQL數據庫性能問題
- 2. 關於Wordpress數據庫的MySQL查詢
- 3. MySQL數據庫關係
- 4. C#MySQL數據庫相關
- 5. MYSQL關係數據庫
- 6. MySQL數據庫表關係
- 7. 關於從mysql中的表刪除數據庫數據
- 8. 對於MySQL數據庫
- 9. 關於MySQL關係數據庫設計的快速提示
- 10. 關於設計數據庫
- 11. 關於數據庫安全
- 12. H2數據庫:關於INFORMATION_SCHEMA
- 13. 關於Android數據庫
- 14. 關於數據庫設計
- 15. 關於MySQL數據庫權限,「\ _%」是什麼意思?
- 16. 關於層次化MySQL數據庫設計的建議
- 17. 關於如何輕鬆訪問mysql數據庫的建議
- 18. UTF8 mysql數據庫中長於255個字符的關鍵字
- 19. 關於MySQL數據庫遷移的問題
- 20. PHP,MySQL:關於如何「同步」兩個數據庫的問題
- 21. 關於大列的Mysql數據庫問題
- 22. 關於數據庫更改的實時更新通知MYSQL PHP
- 23. MySQL關係數據庫外鍵
- 24. MySQL中的關係數據庫
- 25. Mysql數據庫是否關閉
- 26. Mysql的同步關係數據庫
- 27. 關係數據庫設計(MySQL的)
- 28. Firebase vs MySQL數據庫(分層/關係)
- 29. 存在關係的空mysql數據庫
- 30. 關係數據庫查詢MySQL