中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

ajax如何防止sql注入

小新
512
2021-01-07 16:26:45
欄目: 云計算

ajax如何防止sql注入

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"。應用以下方法;

*/

//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 == -1) {

//如果超時就處理 ,指定要跳轉的頁面(比如登陸頁)

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:對響應的數據進行過濾

});

0
本溪| 茶陵县| 巫山县| 唐山市| 荔波县| 宁津县| 邯郸县| 来凤县| 太原市| 新密市| 芦山县| 体育| 崇义县| 锡林浩特市| 云南省| 丹凤县| 克东县| 南昌市| 九寨沟县| 巴马| 广宗县| 河曲县| 宜兴市| 政和县| 康平县| 明星| 武胜县| 禹州市| 东港市| 大厂| 安乡县| 会昌县| 枣强县| 于田县| 深圳市| 宿松县| 红河县| 河南省| 全南县| 册亨县| 罗田县|