1. 程式人生 > >html轉譯及防止js指令碼注入攻擊的方法

html轉譯及防止js指令碼注入攻擊的方法

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