4
A
回答
5
xss_clean()
函數不會刪除全部 HTML會刪除/替換被認爲危險的特定事物,如<script>
標記。
http://codeigniter.com/user_guide/libraries/security.html
的XSS過濾器會查找常用技術來觸發JavaScript或其他類型的代碼試圖劫持cookie或做其他惡意行爲。如果遇到任何不允許的情況,則通過將數據轉換爲字符實體來使其變得安全。
有人在您的頁面注入<p>
標記,雖然可能不需要,但並不是真正有效的攻擊。你必須指定你想要用它做什麼。在很多情況下,你會想要 HTML輸出已被xss_clean()
編輯。
這聽起來像你想htmlspecialchars()
或strip_tags()
(注意:這兩個非常不同的東西)。如果您想編碼的HTML,你也可以使用CI的html_escape()
:
echo html_escape($this->input->post('question'));
如果你想HTML輸出,而不是實體,只是本身使用XSS過濾器:
echo $this->input->post('question', TRUE);
echo xss_clean($user_input);
相關問題
- 1. 笨xss_clean困境
- 2. XSS_clean不能用codeigniter
- 3. CodeIgniter - 爲什麼使用xss_clean
- 4. 如何刪除xss_clean在CI3
- 5. Codeigniter php標籤剝離與xss_clean
- 6. 不能在笨
- 7. 笨不記錄
- 8. 值不是笨
- 9. 我不能笨
- 10. 分頁不笨
- 11. 不能笨
- 12. 笨不image_lib
- 13. 笨不會夾
- 14. 笨不顯示
- 15. 不能在笨
- 16. 不能在笨
- 17. 不能在笨
- 18. 找不到笨
- 19. 不能在笨
- 20. 不能在笨
- 21. 不能與笨
- 22. 笨jQuery的不工作在笨網頁
- 23. 笨不會開始
- 24. 圖像不是笨
- 25. 笨不能從URL
- 26. 不能得到笨
- 27. 分頁不是笨
- 28. 笨MIN_LENGTH []不工作
- 29. Ajax調用不笨
- 30. Shell命令不笨
所以,如果我添加html_escape,我想我不需要添加TRUE,對吧? – 2012-03-03 22:28:28
嘿,是的好點。我不是XSS攻擊方面的專家,我不能評論CI的過濾器是多麼健壯,但我確實相信對於編碼而言,'html_escape()'就足夠了。如果你想要有實際的HTML輸出,但是需要''xss_clean()'''',但是要過濾掉潛在的危險部分。 – 2012-03-03 22:32:10
查看關於'xss_clean()'的這篇文章:http://stackoverflow.com/a/5346696/398242請記住,轉義/編碼輸出始終依賴於上下文相關 - 沒有一個工具可以處理每個作業保證你的安全。 – 2012-03-03 22:38:52