xss 防止攻擊,惡意用戶將輸入的信息當成html或js代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義


xss 防止攻擊,惡意用戶將輸入的信息當成html或js代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義

 

XSS攻擊的防范

     XSS攻擊造成的危害之所以會發生,是因為用戶的輸入變成了可執行的代碼,因此我們要對用戶的輸入進行HTML轉義處理,將其中的尖括號,引號,單引號等特殊字符進行轉義編碼,例如“〈”轉義后為“<”,“>”轉義后為“>”,“'”轉義后為“&”,“"”轉義后為“"”

 

1、將能被轉換為html的輸入內容,在寫代碼時改為innerText而不用innerHTML

2、實在沒有辦法的情況下可用如下方法(js代碼)

function safeStr(str){
return str.replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g, "&quot;").replace(/'/g, "&#039;");
}

 

三、XSS防御

我們是在一個矛盾的世界中,有矛就有盾。只要我們的代碼中不存在漏洞,攻擊者就無從下手,我們要做一個沒有縫的蛋。
 
XSS 漏洞修復
  原則: 不相信客戶輸入的數據
  注意:  攻擊代碼不一定在<script></script>中
  將重要的cookie標記為http only,   這樣的話Javascript 中的document.cookie語句就不能獲取到cookie了.
     需要對用戶的輸入進行處理,只允許用戶輸入我們期望的數據,其它值一概過濾掉。例如: 年齡的textbox中,只允許用戶輸入數字。 而數字之外的字符都過濾掉。
  對數據進行Html Encode 處理
  過濾或移除特殊的Html標簽, 例如: <script>, <iframe> ,  &lt; for <, &gt; for >, &quot for
  過濾JavaScript 事件的標簽。例如 “onclick=”, “onfocus” 等等。
 
XSS具體的防御有如下方式:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM