防sql注入的最佳方式(关于防止sql注入的几种手段)

本文目录
关于防止sql注入的几种手段
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
防护
归纳一下,主要有以下几点:
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和
双"-"进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。
防止sql注入的方法有哪些
根据本人实际经验总结,非照搬教科书。一种就是在服务器上安装安全软件,这种安全软件能够自动识别注入攻击,并做出响应策略。再就是你的所有request都要进行程序过滤,把包含sql的一些特殊字符都过滤掉。第三就是数据库sql语句可以采用一些预编译的框架,如Mybatis,也能防止sql注入。
SQL注入防御:用三种策略应对SQL注入攻击[2]
* Microsoft安全部门(The Microsoft Security Development Lifecycle SDL)对SQL注入的防御进行了一些指导 简单来说有三种策略来应对SQL注入攻击
使用SQL参数查询
使用存储过程
使用SQL仅执行(execute only)许可
同时 编写安全的代码(第二版)也指导了如何防御此类攻击
* 减轻SQL注入 使用参数查询(第一部分和第二部分) 使用参数化查询的好处是它将执行的代码(例如SELECT语句)和数据(由程序使用者提供的动态信息)分开 该途径防御了通过用户传递来执行的恶意语句
在经典ASP代码中过滤SQL注入(或者黑名单中的字符) 我们将如下的工作认为是实际中临时性的解决方案 因为它治标不治本 (例如 代码仍然是有漏洞的 他仍然可能被绕过过滤机制而被访问到)
如果你仍然不了解从哪里开始 所有使用特定ASP代码访问数据库 尤其是使用由用户提供的数据的代码应当首先被检测
lishixinzhi/Article/program/SQL/201311/16221
更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






