用正则过滤敏感字符来解决XSS

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tommycaokai/article/details/50472277

今天系统出了一个漏洞,XSS(跨站脚本攻击),系统中的表单提交时填写特殊字符,会报错,影响系统的稳定性。
漏洞描述:
在一个表单文本框中写”> 提交表单时,会把文本中的字符当做script 代码解析出来。这个漏洞可用于钓鱼攻击或者窃取用户cookie。从而登录他人账户。所以要对用户输入的信息进行校验,如果输入非法字符,要对其进行过滤或者提醒。下面是一段代码,用正则表达式来过滤敏感字符

    s = $("#problemKey").val();
    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
    var rs = ""; 
    for (var i = 0; i < s.length; i++) { 
        rs = rs+s.substr(i, 1).replace(pattern, ''); 
    }
    return rs; 
展开阅读全文

没有更多推荐了,返回首页