xss 防止攻擊,惡意用戶將輸入的信息當成html或js代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義
阿新 • • 發佈:2018-07-29
code 們的 不用 ram 轉義 字符 box 允許 onf
xss 防止攻擊,惡意用戶將輸入的信息當成html或js代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義
XSS攻擊的防範
XSS攻擊造成的危害之所以會發生,是因為用戶的輸入變成了可執行的代碼,因此我們要對用戶的輸入進行HTML轉義處理,將其中的尖括號,引號,單引號等特殊字符進行轉義編碼,例如“〈”轉義後為“<;”,“>”轉義後為“>;”,“‘”轉義後為“&;”,“"”轉義後為“";”
1、將能被轉換為html的輸入內容,在寫代碼時改為innerText而不用innerHTML
2、實在沒有辦法的情況下可用如下方法(js代碼)
function safeStr(str){
return str.replace(/</g,‘<‘).replace(/>/g,‘>‘).replace(/"/g, """).replace(/‘/g, "'");
}
三、XSS防禦
我們是在一個矛盾的世界中,有矛就有盾。只要我們的代碼中不存在漏洞,攻擊者就無從下手,我們要做一個沒有縫的蛋。 XSS 漏洞修復 原則: 不相信客戶輸入的數據 註意: 攻擊代碼不一定在<script></script>中 將重要的cookie標記為http only, 這樣的話Javascript 中的document.cookie語句就不能獲取到cookie了. 需要對用戶的輸入進行處理,只允許用戶輸入我們期望的數據,其它值一概過濾掉。例如: 年齡的textbox中,只允許用戶輸入數字。 而數字之外的字符都過濾掉。 對數據進行Html Encode 處理 過濾或移除特殊的Html標簽, 例如: <script>, <iframe> , < for <, > for >, " for 過濾JavaScript 事件的標簽。例如 “onclick=”, “onfocus” 等等。 XSS具體的防禦有如下方式:xss 防止攻擊,惡意用戶將輸入的信息當成html或js代碼執行,辦法是將用戶輸入的信息改為text格式,或特殊符號轉義