Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > 防止sql注入攻击
【标  题】:防止sql注入攻击
【关键字】:sql
【来  源】:http://www.cublog.cn/u/10599/showart.php?id=169717

防止sql注入攻击

Your Ad Here
SQL注入式攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql命令以及进行其他方式的攻击
动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。
比如:
如果你的查询语句是select * from admin where username='"&user&"' and password='"&pwd&"'"

那么,如果我的用户名是:1' or '1'='1
那么,你的查询语句将会变成:
select * from admin where username='1 or '1'='1' and password='"&pwd&"'"
这样你的查询语句就通过了,从而就可以进入你的管理界面。

所以防范的时候需要对用户的输入进行检查。特别式一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤。

需要过滤的特殊字符及字符串有:
   net user
   xp_cmdshell
   /add
   exec master.dbo.xp_cmdshell
   net localgroup administrators
   select
   count
   Asc
   char
   mid
   '
   :
   "
   insert
   delete from
   drop table
   update
   truncate
   from
   %

下面是我写的两种关于解决注入式攻击的防范代码,供大家学习参考!
js版的防范SQL注入式攻击代码~:

[CODE START]  
language="javascript">
<!--
var url = location.search;
var re=/^\?(.*)(select%20|insert%20|delete%20from%20|count\(|drop%20table|update%20truncate%20|asc\(|mid\(|char\(|xp_cmdshell|exec%20master|net%20localgroup%20administrators|\"|:|net%20user|\'|%20or%20)(.*)$/gi;
var e = re.test(url);
if(e) {
alert("地址中含有非法字符~");
location.href="error.asp";
}
//-->
<script>
[CODE END]
.htaccess 文件的应用:【上一篇】
Windows下开源缺陷跟踪系统mantis安装指南- -:【下一篇】
【相关文章】
  • 让mysql查询语句区分大小写
  • shell自动连接mysql后进行查询操作的方法
  • 精妙Sql语句(转自CSDN技术中心)
  • Mysql | 事务&存储过程
  • sql的查询与优化
  • 终于解决了用Jdbc Driver连接Sql2000,Mysql问题
  • PLSQL exception捕获违反唯一约束
  • 第一次接触Mysql数据库,所熟悉的基本命令
  • MySQL密码恢复
  • Discuz! 5.0.0 RC1 SQL injection PoC
  • 【随机文章】
  • oracle存储过程编译时的一些错误
  • 测试:不同版本QQ传输速度大比拼(3)
  • 网站开发经验总结1--Tomcat与Mysql连接
  • 托管代码的优点
  • 利用php来自动调用不同服务器上的flash
  • 魔兽世界 当前装备系统解析
  • Linux 指令篇:档案目录管理--cd
  • SQL查询的分页思路
  • RMI的小例子,不理解的来这看看吧,也欢迎大家拍我。
  • pwin98下php安装调试又一例
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.