PHP与SQL注入攻击[一]

yipeiwu_com5年前PHP代码库
Haohappy
http://blog.csdn.net/Haohappy2004

SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么非常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。下面来谈谈SQL注入攻击是如何实现的,又如何防范。

看这个例子:

// supposed input
$name = “ilia'; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name='{$name}'”);


很明显最后数据库执行的命令是:

SELECT * FROM users WHERE name=ilia; DELETE FROM users


这就给数据库带来了灾难性的后果--所有记录都被删除了。

不过如果你使用的数据库是MySQL,那么还好,mysql_query()函数不允许直接执行这样的操作(不能单行进行多个语句操作),所以你可以放心。如果你使用的数据库是SQLite或者PostgreSQL,支持这样的语句,那么就将面临灭顶之灾了。

相关文章

php的4种常见运行方式

SAPI:Server Application Programming Interface服务端应用编程端口。他就是php与其他应用交互的接口,php脚本要执行有很多中方式,通过web服...

thinkphp多表查询两表有重复相同字段的完美解决方法

框架:thinkphp 版本:3.2.3 内容:查询语句 解决问题:重复字段问题 $Data = M('a')->where($where) ->Fiel...

浅析php面向对象public private protected 访问修饰符

浅析php面向对象public private protected 访问修饰符

PHP中有三种访问修饰符,分别是:     public(公共的、默认)     protected(受保...

10个对初学者非常有用的PHP技巧

本文介绍一些关于改善和优化PHP代码的提示和技巧,供大家参考,具体内容如下 1.不要使用相对路径,要定义一个根路径 这样的代码行很常见: require_once('../../li...

php输入数据统一类实例

本文实例讲述了php输入数据统一类。分享给大家供大家参考。具体如下: <?php class cls_request{ private $getdata;//存储ge...