html轉譯及防止js指令碼注入攻擊的方法
阿新 • • 發佈:2018-12-08
js指令碼攻擊
有的時候頁面中會有一個輸入框,使用者輸入內容後會顯示在頁面中,類似於網頁聊天應用,留言板等。如果使用者輸入了一段js指令碼,比例:,頁面會彈出一個對話方塊,或者輸入的指令碼中有改變頁面js變數的程式碼則會時程式異常或者達到跳過某種驗證的目的。那如何防止這種惡意的js指令碼攻擊呢?
1.在js中用使用正則表示式 過濾特殊字元,檢測輸入內容是否有特殊符號,例如:
var RegExp = [/^[^\~\`\!\@\#\$\%\^\&\*\(\)\-\_\+\=\{\}\[\]\|\\\;\:\'\"\,\.\<\>\/\?]/;]
2.判斷是否為特殊字元,如果是特殊字元就不讓輸出
function Jubge(content){
var reg = /[^&</>)($]/g
if (!reg.test((content).val())) {
e.preventDefault();
alert("你輸入有特殊字元!");
return;
}
})
3.使用html轉譯,使得使用者輸入的內容轉化為字串
var div = document.createElement('div') var msg = '留言時間:'+content.time+'<br>留言內容:'+content.message div.appendChild(document.createTextNode(msg)) main.appendChild(div)
內容有待補充,希望大家一起交流進步
本文來自 M-A 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qq_43285335/article/details/82872765?utm_source=copy