广告
返回顶部
首页 > 资讯 > 精选 >ajax如何防止sql注入
  • 776
分享到

ajax如何防止sql注入

2024-04-02 19:04:59 776人浏览 八月长安
摘要

ajax防止sql注入的方法:将以下代码放在公用的js里面即可,如:$.ajaxSetup({contentType: "application/x-www-fORM-urlencoded;charset=utf-8",beforeSend

ajax如何防止sql注入

ajax防止sql注入的方法:

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

$.ajaxSetup({

contentType: "application/x-www-fORM-urlencoded;charset=utf-8",

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

try {

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

});

--结束END--

本文标题: ajax如何防止sql注入

本文链接: https://www.lsjlt.com/news/115498.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ajax如何防止sql注入
    ajax防止sql注入的方法:将以下代码放在公用的js里面即可,如:$.ajaxSetup({contentType: "application/x-www-form-urlencoded;charset=utf-8",beforeSend...
    99+
    2022-10-06
  • 防止SQL注入
    SQL注入是指攻击者通过在输入的数据中注入恶意的SQL代码,以获取非法访问、窃取敏感信息等操作。以下是一些防止SQL注入的方法: 使用参数化查询:使用参数化查询可以防止SQL注入攻击,参数化查询是指在执行查询时,将参数与查询语句分离,使得...
    99+
    2023-09-10
    sql 数据库 java mysql
  • beego如何防止sql注入
    beego框架里的Raw函数使用了占位符,并且beego是经过mysql的数据库驱动封装打包后再传到mysql中的,这个过程中已经实现了防止SQL注入,因此不再存在SQL注入的危险。...
    99+
    2022-10-08
  • hql如何防止sql注入
    hql防止sql注入的方法:在HQL语句中定义命名参数要用”:”开头,例如:Query query=session.createQuery(“from User user where user.name=:customername...
    99+
    2022-10-17
  • like如何防止sql注入
    like防止sql注入的示例:在不同数据库下的用法不同,例如://mysql环境select * from test where school_name like concat('%',${name},'%')...
    99+
    2022-10-24
  • nodejs如何防止sql注入
    nodejs防止sql注入的方法:使用escape()对传入参数进行编码,例如:var userId = 1, name = 'test';var query = connection.query('SELECT * FROM us...
    99+
    2022-10-04
  • html如何防止sql注入
    html防止sql注入的方法:批量过滤post、get敏感数据,例如:$_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POST);使用数据过滤函数,例如:fun...
    99+
    2022-10-24
  • spring如何防止sql注入
    spring防止sql注入的方法:可以通过编写一个webFilter过滤器来防止sql注入,例如:@Component@WebFilter(urlPatterns = ")|" +"(\\b(select|update|and|or|del...
    99+
    2022-10-07
  • nginx如何防止sql注入
    nginx防止sql注入的方法:对于提交后台的所有数据都进行过滤转义。数据库中的用户密码需加密存放。php程序进行二次过滤,过滤GET和POST变量中的关键字。生产环境关闭PHP和MySQL的错误信息。一般问号后面的请求参数,在nginx用...
    99+
    2022-10-11
  • tp5如何防止sql注入
    tp5防止sql注入的方法:在application/config.php中设置全局的过滤规则,如:// 默认全局过滤方法 用逗号分隔多个'default_filter' => 'htmlspecialchars,addslashes,st...
    99+
    2022-10-04
  • net如何防止sql注入
    net防止sql注入的方法:在直接处理SQL语句时,将传递的值进行参数化,然后在进行赋值,例如:cmd.CommandText = @"select count(*) from UserInfo where UserNa...
    99+
    2022-10-23
  • druid如何防止sql注入
    druid防止sql注入的方法:采用druid数据连接池添加防sql注入配置,例如:<bean id="dataSource" class="com.alibaba.druid.poo...
    99+
    2022-10-10
  • laravel如何防止sql注入
    laravel防止sql注入的方法:当你使用Eloquent查询时,如:User::where('name', $input_name)->first();因为Eloquent 内部使用的是PDO参数绑定,所以你的请求是安全的,使...
    99+
    2022-10-05
  • ef如何防止sql注入
    ef防止sql注入的示例:ef作为一个orm框架,本身放置了sql的注入,例如查询视图"select * from VM where 条件 = {0}"时的方法:function bool&...
    99+
    2022-10-09
  • esapi如何防止sql注入
    esapi防止sql注入的方法:设置一个过滤器,代码示例:String sqlStr=“select name from tableA where id=”+  ESAPI.encoder().encodeForSQL(...
    99+
    2022-10-06
  • oracle如何防止sql注入
    oracle防止sql注入的方法:oracle中的DBMS_ASSERT包中包含了相关的函数,将传入的参数进行检查,若不符合相关规则,那sql语句执行会报错,从而达到防止sql注入的风险,例如:ENQUOTE_LITERAL:输入字符串,并...
    99+
    2022-10-14
  • ssh如何防止sql注入
    ssh防止sql注入的方法:在对应的web文件中添加以下代码:<filter>    <filter-name>httpHeaderSecurity</filter-na...
    99+
    2022-10-19
  • 动态sql如何防止sql注入
    动态sql防止sql注入的示例:在对应的数据库中添加以下sql语句:DECLARE @variable NVARCHAR(100)DECLARE @SQLString NVARCHAR(1024)DECLARE @ParmD...
    99+
    2022-10-24
  • 如何防止sql注入攻击
    小编给大家分享一下如何防止sql注入攻击,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!怎么防止SQL注入攻击?SQL注入攻击可以通过数据库安全防护技术实现有效防护,数据库安全防护技术包括:数据...
    99+
    2022-10-18
  • 如何有效防止sql注入
    如何有效防止sql注入?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。@RestController public c...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作