归纳一下,主要有以下几点:

1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。

2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

参考:

http://msdn.microsoft.com/en-us/magazine/cc163917.aspx

http://www.unixwiz.net/techtips/sql-injection.html

http://www.nextgenss.com/papers/more_advanced_sql_injection.pdf

http://www.securiteam.com/securityreviews/5DP0N1P76E.html

http://xkcd.com/327/

http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/

http://bbs.xiakexing.com/cgi-bin/topic.cgi?forum=34&topic=18&show=0

http://www.cnblogs.com/iloveu/archive/2009/03/17/1414145.html

http://dang.javaeye.com/blog/338367

java防sql注入_java 有效的防止SQL注入相关推荐

  1. java批量执行sql语句_Java中批量执行sql语句

    在我们实际项目开发过程中,可能有的功能在后台需要执行几条sql语句甚至需要批量的执行一些sql语句,如果是循环一条一条执行,我想大家都知道这样做的效率特别低,尤其是批量sql时,但是如果我们先循环把整 ...

  2. 华为java安全编码规范_Java安全编码之SQL注入

    随着互联网的发展,Java语言在金融服务业.电子商务.大数据技术等方面的应用极其广泛.Java安全编码规范早已成为SDL中不可或缺的一部分.本文以Java项目广泛采用的两个框架Hibernate和My ...

  3. java反向注入_java 控制反转和依赖注入的理解

    开始好好学习java基础和思想~ 控制反转(IOC)是Spring框架的核心思想,用我自己的话说,就是你要做一件事,别自己可劲new了,你就说你要干啥,然后外包出去就好~ 依赖注入(DI) 在我浅薄的 ...

  4. java防报毒_java接口如何有效防止恶意请求

    解决方法: 1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构: Ip:客户请求的ip Success_count:成功次数 Failure_count:失败 ...

  5. java防穿墙技术_Java贪吃蛇(穿身穿墙宝物)源码

    这几天学校内实训,搞什么贪吃蛇游戏.对于GUI编程我表示很无语,没办法,也得照做! 其实基本功能的源码并非我写出来的,只是在前人的基础上做了二次开发,增加了学校要求的实现吃宝物然后可以借助宝物实现&q ...

  6. java 防止sql注入_Java中SQL注入以及如何轻松防止它

    java 防止sql注入 什么是SQL注入? (What is SQL Injection?) SQL Injection is one of the top 10 web application v ...

  7. java中sql语句怎么把开始和结束时间作为参数写sql查询_聊一聊MyBatis 和 SQL 注入间的恩恩怨怨

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 引言 MyBatis 是一种持久层框架,介于 JDBC 和 Hi ...

  8. java中sql语句怎么把开始和结束时间作为参数写sql查询_java程序员跳槽的一道坎,大公司面试官都会问的Mybatis...

    一.什么是Mybatis? 1. Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement ...

  9. java防止sql注入方正_有效防止SQL注入的5种方法总结

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

最新文章

  1. 无线红外探测器04:产品测试及验证
  2. 每日英语:Vender Assault Shines Ugly Light on China's Urban Enforcers
  3. linux列举网卡,linux下快速列出局域网中所有主机名(计算机名)的脚本
  4. pip换源,解决pip下载超时,连接失败等问题
  5. 五邑大学计算机组成原理试卷,2017年五邑大学信息工程学院807微机原理与应用[专业硕士]之计算机组成原理考研强化模拟题...
  6. LeetCode 654. Maximum Binary Tree最大二叉树 (C++)
  7. ddt数据驱动常见的用法【多测师_王sir】
  8. 开根号计算机在线应用,根号计算器(万能计算器在线计算)
  9. CCF CSP历年题解(python)
  10. 我大学到研究生学过的计算机基础课程(数据结构、计算机网络、算法、操作系统),绝对推荐,全部在这里了!
  11. Ubuntu Debian(NGINX/PHP/MYSQL)快速配置工具LNMP云安装
  12. C. Get an Even String
  13. 字符串:1.给定一个字符串s,分割s使得s的每一个子串都是回文串
  14. 华南理工机械考研经验贴——踏踏实实复习是硬道理,第一没有捷径
  15. 典型的AEB误触发场景
  16. AI TIME PhD实验室专场,四月隆重登场!
  17. 天翼云弹性计算服务器,获取天翼云Windows弹性云主机的密码操作步骤
  18. TCAM路由器查表技术分析
  19. 2021 电子科技大学 组合数学试卷 (卢光辉、戴波 )
  20. 打开火狐浏览器之后主页自动跳转到2345网站首页

热门文章

  1. ANDROID以流形式上传文件
  2. 论文小结——CenterPoint
  3. Uber Go 风格指南中文版
  4. 25000 字详解 23 种设计模式,原来可以这么简单!
  5. njupt Keroro侵略地球
  6. mac电脑安装nvm及使用的详细步骤
  7. 半导体存储器涨涨涨 趋势的力量不可逆转
  8. html block属性,css display block属性的意思、作用和效果
  9. 如何给未签收物流备注信息
  10. Python进行股票分析