防止sql注入的方法
防止sql注入从前端的页面到后台可以分为以下几个办法:
1.在前端页面就可以用js过滤数据
要引入的包:
import Java.util.regex.*;
正则表达式:
private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;
判断是否匹配:
Pattern.matches(CHECKSQL,targerStr);
下面是具体的正则表达式:
检测SQL meta-characters的正则表达式 :
/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix
修正检测SQL meta-characters的正则表达式 :/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i
典型的SQL 注入攻击的正则表达式 :/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
检测SQL注入,UNION查询关键字的正则表达式 :/((\%27)|(\’))union/ix(\%27)|(\’)
检测MS SQL Server SQL注入攻击的正则表达式:
/exec(\s|\+)+(s|x)p\w+/ix
2.后台可以使用预编译,参数化查询的方法防止sql注入
采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。
使用好处:
(1).代码的可读性和可维护性.
(2).PreparedStatement尽最大可能提高性能.
(3).最重要的一点是极大地提高了安全性.
原理:
sql注入只对sql语句的准备(编译)过程有破坏作用
而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,
而不再对sql语句进行解析,准备,因此也就避免了sql注入问题.
3.对密码一类敏感的信息不要直接明文存储,可以采用MD5或hash加密
4.异常信息不要直接抛出给用户,最好自定义处理异常信息的类,因为异常信息里也包括关于服务器的一些信息可能被利用。
转载于:https://www.cnblogs.com/blythe/p/7434753.html
防止sql注入的方法相关推荐
- mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)
这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一: mysql_real_escape_str ...
- sql注入修复方法是_旧的方法是修复我们可以看到的内容。
sql注入修复方法是 When envisioning the futurestate of a company or a service, we're usually faced with the ...
- mysql 防注入 php_PHP+mysql防止SQL注入的方法小结
本文实例讲述了PHP+mysql防止SQL注入的方法.分享给大家供大家参考,具体如下: SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE useri ...
- decimal转为string sql_PHP+Mysql防止SQL注入的方法
这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一:[1] mysql_real_escape_ ...
- mysql简单防注入_mysql防止sql注入的方法
mysql防止sql注入的方法 发布时间:2020-08-25 14:07:29 来源:亿速云 阅读:98 作者:小新 这篇文章将为大家详细讲解有关mysql防止sql注入的方法,小编觉得挺实用的,因 ...
- java开发中推荐的防御sql注入方法_防御SQL注入的方法总结
SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致 ...
- php防止sql注入处理方法
解决的办法是将php.ini的magic_quotes_gpc设置为Off 在php.ini的magic_quotes_gpc=On的情况下,如果输入的数据有单引号(').双引号(").反斜 ...
- SQL注入原理及预防SQL注入的方法
网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,担心网上的信息以及个人隐私遭到泄露.下面要为大家介绍的是SQL注入,对于sql注入,相信程序员都知道或者使用过,如果没有了解或完全没有听 ...
- mysql node null_node-mysql中防止SQL注入的方法总结
SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. node-mysql中防止S ...
最新文章
- memcache和redis对比
- 转Delphi中Create(nil),Create(self),Create(Application)区别
- 属性文法和语法制导翻译
- Protocol handler start failedCaused by: java.net.SocketException: Permission denied
- ASP.NET MVC RedirectToRoute类[转]
- 数据库迁移登录名_如何将数据库的登录名迁移到其他服务器
- Linux 命令(29)—— ls 命令
- 记一次RAID阵列的迁移经历
- 个人生活的量化分析(三):考研英语初探
- VMware 虚拟机NAT模式下却没有网
- ES查询结果全局高亮
- 关于怎么在图片里加边框,这几个好用软件就能实现
- Linux电镜分析,环境扫描电子显微镜特点
- 知到测试---大学生心理健康教育
- 极米H5值得入手吗?极米H5实际体验如何?画面对比实测
- 网页报错404原因及解决方法
- (免费分享)springboot论坛bbs系统
- 中芯国际二零一八年第二季度业绩公布
- 上饶服务器租用 游戏服务器如何选择?
- 日本僧人问道弘法寺当家师
热门文章
- Linux进阶之路————Linux概述
- Java学习指导————如何做到基础扎实
- anaconda下安装python,Windows下Anaconda的安装和简单使用方法
- highcharts php 动态数据,php动态传数据到highcharts的方法
- java反射 Method
- ios 高德获取定位_解决ios11不支持高德地图API定位功能的方法
- 微软故障转移群集服务器要求,故障转移群集概述
- linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程
- 继承情况下构造方法的调用过程-java
- Dev C++ 实现Hello World