美国服务器ajax如何防止sql注入
云服务器
美国服务器ajax如何防止sql注入
2026-01-21 13:00
美国服务器ajax防止sql注入的方法:
将以下代码放在公用的js里面即可,如:
$.ajaxSetup({
contentType:"application/x-www-form-urlencoded;charset=utf-8",
beforeSend:function(){//发送前执行的函数
try{
/**
*当processData:false,此时后台接收的值都会是object类型。此时应该把所有参数拿出来做成序列化形式如:"name=bill&age=18"否则后台无法接收
*当processData:true或者不设置时json数据是已经序列化成字符类型。如:"name=bill&age=18"。应用以下方法;
*/
//varparams=arguments[1].data;
//if(params!==""||params!==null){
//varre=/select|update|delete|truncate|join|union|exec|insert|drop|count|’|--|"|=|;|>|<|%/i;
//params.split('&').forEach(function(item){//js的forEach()方法
//item=item.split("=");
//varname=item[0];//名称
//varval=item[1];//值
//if(re.test(item[1])){
//alert("请勿输入非法字符");
//arguments[0].abort();//终止请求
////请求方法记录相关日志
////location.href=arguments[1].data.replace(sQuery,"");
//}
//});
//}
varparams=arguments[1].data;//arguments是一个两个值的数组分别是0和1
re=/select|update|delete|truncate|join|union|exec|insert|drop|count|’|--|"|=|;|>|<|%/i;//可以根据需求自定义加减
for(varkeyinparams){
console.log(params[key]);
if(re.test(params[key])){
alert("请勿输入非法字符");
arguments[0].abort();//终止请求
//请求方法记录相关日志
//location.href=params.replace(sQuery,"");//跳转到某个页面
}else{
//加密在此处做。后台可以做全局统一解密
//此时应该把所有参数拿出来做成序列化形式如:"name=bill&age=18"否则后台无法接收
}
}
}catch(e){
console.log(e);
//请求方法记录相关日志
}
},
complete:function(XMLHttpRequest,textStatus){
try{
//通过XMLHttpRequest取得响应头,sessionstatus,
//varsessionstatus=XMLHttpRequest.getResponseHeader("sessionstatus");
//if(sessionstatus=="timeout"){
//如果超时就处理,指定要跳转的页面(比如登陆页)
//}
//此处可以对响应回来的数据进行解密
debugger;
if(textStatus!=="error"){
//通过XMLHttpRequest取得响应结果
varres=XMLHttpRequest.responseText;
varjsonData=JSON.parse(res);
console.log(jsonData);
if(jsonData.state==-1){
//如果超时就处理,指定要跳转的页面(比如登陆页)
alert(jsonData.msg);
window.location.replace("/login/index.php");
}elseif(jsonData.state==0){
//其他的异常情况,给个提示。
alert(jsonData.msg);
}else{
//正常情况就不统一处理了
}
}
//请求方法记录相关日志
}catch(e){
console.log(e);
//请求方法记录相关日志
}
},
error:function(jqXHR,textStatus,errorMsg){//出错时默认的处理函数
try{
//jqXHR是经过jQuery封装的XMLHttpRequest对象
//textStatus可能为:null、"timeout"、"error"、"abort"或"parsererror"
//errorMsg可能为:"NotFound"、"InternalServerError"等
//提示形如:发送AJAX请求到"/index.html"时出错[404]:NotFound
alert('发送AJAX请求到"'+this.url+'"时出错['+jqXHR.status+']:'+errorMsg);
//请求方法记录相关日志
}catch(e){
console.log(e);
//请求方法记录相关日志
}
},
statusCode:{//自定义返回消息
404:function(){
alert('数据获取/输入失败,没有此服务。404');
},
504:function(){
alert('数据获取/输入失败,服务器没有响应。504');
},
500:function(){
alert('服务器有误。500');
}
},
processData:false,//默认不序列化参数//dataFilter:对响应的数据进行过滤
});
购买使用一诺网络美国服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。