承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

怎么防止:ajax怎么防止sql注入

管理员 2023-03-31 09:38:09 互联网圈 78 ℃ 0 评论 4144字 收藏

ajax怎样避免sql注入

ajax如何防止sql注入

ajax避免sql注入的方法:

将以下代码放在公用的js里面便可,如:

$.ajaxSetup({

contentType: "application/x-www-form-urlencoded;charset=utf⑻",

beforeSend: function() { //发送前履行的函数

try {

/**

* 当 processData: false,此时后台接收的值都会是object类型。此时应当把所有参数拿出来做成序列化情势 如:"name=bill&age=18" 否则后台没法接收

* 当 processData: true还是不设置时 json数据是已序列化成字符类型 。如:"name=bill&age=18"。利用以下方法;

*/

//var params = arguments[1].data;

//if (params !== "" || params !== null) {

// var re = /select|update|delete|truncate|join|union|exec|insert|drop|count|’|--|"|=|;|>|<|%/i;

// params.split('&').forEach(function (item) { //js的forEach()方法

// item = item.split("=");

// var name = item[0];//名称

// var val = item[1];//值

// if (re.test(item[1])) {

// alert("请勿输入非法字符");

// arguments[0].abort(); //终止要求

// //要求方法记录像关日志

// //location.href = arguments[1].data.replace(sQuery, "");

// }

// });

//}

var params = arguments[1].data; //arguments是一个两个值的数组分别是0和1

re = /select|update|delete|truncate|join|union|exec|insert|drop|count|’|--|"|=|;|>|<|%/i; //可以根据需求自定义加减

for(var key in params) {

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,

//var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus");

//if(sessionstatus == "timeout") {

//如果超时就处理 ,指定要跳转的页面(比如登陆页)

//}

//此处可以对响应回来的数据进行解密

debugger;

if(textStatus !== "error") {

//通过XMLHttpRequest获得响应结果

var res = XMLHttpRequest.responseText;

var jsonData = JSON.parse(res);

console.log(jsonData);

if(jsonData.state == ⑴) {

//如果超时就处理 ,指定要跳转的页面(比如登陆页)

alert(jsonData.msg);

window.location.replace("/login/index.php");

} else if(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 可能为: "Not Found"、"Internal Server Error"等

// 提示形如:发送AJAX要求到"/index.html"时出错[404]:Not Found

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:对响应的数据进行过滤

});

文章来源:丸子建站

文章标题:怎么防止:ajax怎么防止sql注入

https://www.wanzijz.com/view/5859.html

TAG: sql注入 ajax

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信