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

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

code 們的 不用 ram 轉義 字符 box 允許 onf

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具體的防禦有如下方式:

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