当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP与SQL注入攻击[一]

PHP
解决MySQL中文输出变成问号的问题
PHP页面间传递参数实例代码
php下通过POST还是GET来传值
PHP组合查询多条件查询实例代码
PHP简单系统查询模块代码打包下载
PHP添加MySQL数据记录代码
PHP insert语法详解
用PHP进行MySQL删除记录操作代码
PHP简单系统数据添加以及数据删除模块源文件下载
用PHP连接MySQL代码的参数说明
PHP实现MySQL更新记录的代码
PHP-MySQL教程归纳总结
PHP时间戳使用实例代码
PHP中MD5函数使用实例代码
php mysql索引问题
介绍php设计模式中的工厂模式
Php注入点构造代码
坏狼的PHP学习教程之第1天
坏狼的PHP学习教程之第2天
坏狼的PHP学习教程之第3天

PHP与SQL注入攻击[一]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 165 ::
收藏到网摘: n/a

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,支持这样的语句,那么就将面临灭顶之灾了。