[Security]XSS一直是个棘手的问题
為什么80%的碼農都做不了架構師?>>> ??
雖然現在IE10和chrome可以自動過濾掉
防御方法:
1.HttpOnly
httpOnly標簽至今已經逐漸成為一個標準,瀏覽器禁止JS訪問帶有HttpOnly的Cookie,HttpOnly可以選擇性的加載任何一個Cookie值上
response.setHeader("Set-Cookie","cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
2、輸入檢查
處理富文本:采用XSS filter
java:https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project
php:http://htmlpurifier.org/
3、輸出檢查
a.安全的編碼函數:
輸出對象為html時,采用HtmlEncode,HtmlEncode不是專用名詞,他只是一種函數實現。他的作用是將字符轉換成HTMLEntities,對應的標準是ISO-8859-1
至少需要轉換以下字符:
4.防御DOM Based XSS:復合的XSS防御
從$var輸出到<script>的時候需要做JavascriptEncode,在輸出到html的時候,如果是輸出到事件或者腳本,再做一次JavascriptEncode,如果輸出到html,做HtmlEncode,即,輸出點即為防御點。
cheatsheet for DOM Based XSS:http://code.google.com/p/domxsswiki/
JavascriptEncode:https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
轉載于:https://my.oschina.net/tdoly/blog/136632
總結
以上是生活随笔為你收集整理的[Security]XSS一直是个棘手的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Javascript模块化编程:AMD规
- 下一篇: Jdbc连接数据库大全