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

猜你喜欢

转载自blog.csdn.net/hcx0805/article/details/82874567