小超辅助网是全网最大的辅助网,每天更新原创辅助资源。请记住唯一域名:www.xc6b.com

JavaScript过滤XSS

作者:小超辅助网 发布时间:2021-3-2 12:49当前分类: 其他技术

var filterXSS=function(oriStr){
    if(!oriStr){
        return oriStr;
    }
    var charCodes=['3c','3e','27','22','28','29','60',{format:'script{}',chr:'3a'}];//要转义字符的16进制ASCII码[1<  2>  3'  4"  5(  6)  7`]
    var xssChars=[],filterChars=[],tmpFormat='{}',tmpChr;
    for(var i=0;i<charCodes.length;i++){
        if('string'==typeof charCodes[i]){
            tmpFormat='{}';
            tmpChr=charCodes[i];
        }else{
            tmpFormat=charCodes[i].format;
            tmpChr=charCodes[i].chr
        }
        xssChars.push(tmpFormat.replace('{}','\\u00'+tmpChr));
        xssChars.push(tmpFormat.replace('{}','%'+tmpChr));//1次encode
        xssChars.push(tmpFormat.replace('{}','%25'+tmpChr));//2次encode
        filterChars.push(tmpFormat.replace('{}','&#x'+tmpChr+';'));
        filterChars.push(tmpFormat.replace('{}','%26%23x'+tmpChr+'%3B'));//1次encode
        filterChars.push(tmpFormat.replace('{}','%2526%2523x' + tmpChr + '%253B'));//2次encode
    }
    for(var i=0;i<xssChars.length;i++){
        oriStr=oriStr.replace(new RegExp(xssChars[i],'gi'),filterChars[i]);
    }
    //预防script:
    oriStr=oriStr.replace(/script[\u000d\u000a\u0020]+\:/,'script:');
    return oriStr;
}

免责声明:

警告:使用小超资源网任何软件/工具时必须开启影子系统并且要求下载后24小时内删除,本站所有资源仅用于分享学习,不代表本站立场,不妥之处可联系本站删除。用户下载使用本站任何工具/软件即视为同意警告内容,违者后果自己全权负责。 下载影子系统
如果下载的辅助出现收费,不要进行购买,直接下方留言!!!

已有 0/452 人参与

发表评论: