温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Jquery封装Ajax过滤XSS

发布时间:2020-06-08 09:39:19 来源:网络 阅读:2247 作者:梦朝思夕 栏目:web开发
$(document).ajaxSend(onSend);
function onSend(e,xhr,o) {
    o.data=dataEncode(o.data);
};
function htmlEncode (str){
    var s = "";
    if (str.length == 0) return "";
    //s = str.replace(/ /g, " ");
    //s = str.replace(/&/g, "&");
    s = str.replace(/</g, "%26lt%3B");
    s=s.replace(/%3C/g,"%26lt%3B");
    s=s.replace(/%3c/g,"%26lt%3B");
    s = s.replace(/>/g, "%26gt%3B");
    s = s.replace(/%3E/g, "%26gt%3B");
    s = s.replace(/%3e/g, "%26gt%3B");
    //s = s.replace(/\'/g, "&#39;");
    //s = s.replace(/\"/g, "&quot;");
    //s = s.replace(/\n/g, "<br>");
    return s;
};
function htmlEncodeOut (str){
    var s = "";
    if (str.length == 0) return "";
    //s = str.replace(/ /g, "&nbsp;");
    //s = str.replace(/&/g, "&amp;");
    s = str.replace(/</g, "&lt;");
    s=s.replace(/%3C/g,"&lt;");
    s=s.replace(/%3c/g,"&lt;");
    s = s.replace(/>/g, "&gt;");
    s = s.replace(/%3E/g, "&gt;");
    s = s.replace(/%3e/g, "&gt;");
    s = s.replace(/%26lt%3B/g, "&lt;");
    s = s.replace(/%26lt%3b/g, "&lt;");
    s = s.replace(/%26gt%3B/g, "&gt;");
    s = s.replace(/%26gt%3b/g, "&gt;");
    //s = s.replace(/\'/g, "&#39;");
    //s = s.replace(/\"/g, "&quot;");
    //s = s.replace(/\n/g, "<br>");
    return s;
};
function dataEncode(data){
    var rel=data;
    var source="";
    if(typeof(rel) == "object"){
        source=htmlEncode(JSON.stringify(rel));
        source=JSON.parse(source);
        rel=source;
    }else if(typeof(rel) == "string"){
        source=htmlEncode(rel);
        rel=source;
    }
    return rel;
};
function dataEncodeOut(data){
    var rel=data;
    var source="";
    if(typeof(rel) == "object"){
        source=htmlEncodeOut(JSON.stringify(rel));
        source=JSON.parse(source);
        rel=source;
    }else if(typeof(rel) == "string"){
        source=htmlEncodeOut(rel);
        rel=source;
    }
    return rel;
};
/*
//此处的Ajax请求是一个示例;未使用框架封装的Ajax请求时,这需要在自己的ajax方法的success函数的首行添加-- data=dataEncodeOut(data);
jQuery.ajax({ 
    type:"post",
    data:data,
    url:"http://dfh.smartcity.com/portal/app/service/App.getStateCatalogues.json", 
    async:async,
    dataType:"json", 
    success: function aa(data) {
        //需要首行添加
        data=dataEncodeOut(data);
        alert("success已经收到:"+data); 
    }
});*/


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI