防止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注入的方法相关推荐

  1. mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)

    这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一: mysql_real_escape_str ...

  2. sql注入修复方法是_旧的方法是修复我们可以看到的内容。

    sql注入修复方法是 When envisioning the futurestate of a company or a service, we're usually faced with the ...

  3. mysql 防注入 php_PHP+mysql防止SQL注入的方法小结

    本文实例讲述了PHP+mysql防止SQL注入的方法.分享给大家供大家参考,具体如下: SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE useri ...

  4. decimal转为string sql_PHP+Mysql防止SQL注入的方法

    这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一:[1] mysql_real_escape_ ...

  5. mysql简单防注入_mysql防止sql注入的方法

    mysql防止sql注入的方法 发布时间:2020-08-25 14:07:29 来源:亿速云 阅读:98 作者:小新 这篇文章将为大家详细讲解有关mysql防止sql注入的方法,小编觉得挺实用的,因 ...

  6. java开发中推荐的防御sql注入方法_防御SQL注入的方法总结

    SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致 ...

  7. php防止sql注入处理方法

    解决的办法是将php.ini的magic_quotes_gpc设置为Off 在php.ini的magic_quotes_gpc=On的情况下,如果输入的数据有单引号(').双引号(").反斜 ...

  8. SQL注入原理及预防SQL注入的方法

    网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,担心网上的信息以及个人隐私遭到泄露.下面要为大家介绍的是SQL注入,对于sql注入,相信程序员都知道或者使用过,如果没有了解或完全没有听 ...

  9. mysql node null_node-mysql中防止SQL注入的方法总结

    SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. node-mysql中防止S ...

最新文章

  1. memcache和redis对比
  2. 转Delphi中Create(nil),Create(self),Create(Application)区别
  3. 属性文法和语法制导翻译
  4. Protocol handler start failedCaused by: java.net.SocketException: Permission denied
  5. ASP.NET MVC RedirectToRoute类[转]
  6. 数据库迁移登录名_如何将数据库的登录名迁移到其他服务器
  7. Linux 命令(29)—— ls 命令
  8. 记一次RAID阵列的迁移经历
  9. 个人生活的量化分析(三):考研英语初探
  10. VMware 虚拟机NAT模式下却没有网
  11. ES查询结果全局高亮
  12. 关于怎么在图片里加边框,这几个好用软件就能实现
  13. Linux电镜分析,环境扫描电子显微镜特点
  14. 知到测试---大学生心理健康教育
  15. 极米H5值得入手吗?极米H5实际体验如何?画面对比实测
  16. 网页报错404原因及解决方法
  17. (免费分享)springboot论坛bbs系统
  18. 中芯国际二零一八年第二季度业绩公布
  19. 上饶服务器租用 游戏服务器如何选择?
  20. 日本僧人问道弘法寺当家师

热门文章

  1. Linux进阶之路————Linux概述
  2. Java学习指导————如何做到基础扎实
  3. anaconda下安装python,Windows下Anaconda的安装和简单使用方法
  4. highcharts php 动态数据,php动态传数据到highcharts的方法
  5. java反射 Method
  6. ios 高德获取定位_解决ios11不支持高德地图API定位功能的方法
  7. 微软故障转移群集服务器要求,故障转移群集概述
  8. linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程
  9. 继承情况下构造方法的调用过程-java
  10. Dev C++ 实现Hello World