PHP与SQL注入攻击[一]

yipeiwu_com6年前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获取当前页面URL函数实例

本文实例讲述了PHP获取当前页面URL函数实例,分享给大家供大家参考。具体实现方法如下: 在PHP中,没有默认的Function来获取目前所在页面的URL,所以今天就向大家介绍一个在PH...

PHP检测一个数组有没有定义的方法步骤

PHP检测一个数组有没有定义的方法步骤

php中定义数组的方法: 1、PHP定义数组的格式: 数组名=array(); 如:$aa=array();//这样就定义了一个数组, 之后给元素赋值: $aa[0]="90...

PHP中Notice错误常见解决方法

对于初学者,肯定会遇到不同的错误提示,比如:警告,致命,等等,其中NOTICE错误等级最低,页面中,好多类似 Notice: Use of undefined constant titl...

ASP和PHP实现生成网站快捷方式并下载到桌面的方法

在网站上设置“加入收藏、设为首页”等按钮是一般网站都会干的事儿,但是有的网站还有“放到桌面”这样的功能设置。下面即生成快捷方式并下载到桌面的php实现代码,摘录修改于网络,仅作参考 ph...

PHP观察者模式实例分析【对比JS观察者模式】

本文实例讲述了PHP观察者模式。分享给大家供大家参考,具体如下: 1.用js实现观察者模式 <!DOCTYPE html> <html> <head&g...