PHP与SQL注入攻击[一]

 更新时间:2007年04月17日 00:00:00   转载 作者:  
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多数据库支持的应用程序设计

    php多数据库支持的应用程序设计

    以前做PHP应用,多数是单数据库数据查询和更新,顶多也是主从数据库的支持,实现起来相对简单。主从数据库的问题在于,当会话存储在数据库的时候,同步将可能出现问题,也就是说有可能出现会话的中断。
    2008-08-08
  • php设置静态内容缓存时间的方法

    php设置静态内容缓存时间的方法

    这篇文章主要介绍了php设置静态内容缓存时间的方法,涉及针对header函数中参数的应用技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • 使用PHP把HTML生成PDF文件的几个开源项目介绍

    使用PHP把HTML生成PDF文件的几个开源项目介绍

    这篇文章主要介绍了使用PHP把HTML生成PDF文件的几个开源项目介绍,本文罗列了FPDF、DomPDF、TCPDF等项目的特点,需要的朋友可以参考下
    2014-11-11
  • php文件下载处理方法分析

    php文件下载处理方法分析

    这篇文章主要介绍了php文件下载处理方法,实例分析了php针对文件下载的常用处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法

    PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法

    这篇文章主要介绍了PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法,实例分析了php实用curl模拟登陆163邮箱的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php输出全球各个时区列表的方法

    php输出全球各个时区列表的方法

    这篇文章主要介绍了php输出全球各个时区列表的方法,自定义了一个数组变量用于存放全球各个时区信息,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Ajax+PHP 边学边练之四 表单

    Ajax+PHP 边学边练之四 表单

    通过上一篇文章已经了解到如何利用Ajax和PHP对数据库进行数据读取,这样可以动态的获取到数据库的最新数据。本篇则继续介绍通过表单(Form)向数据库中写入数据。
    2009-11-11
  • 详解PHP中array_rand函数的使用方法

    详解PHP中array_rand函数的使用方法

    大家都知道array_rand是数组随机函数了,今天看到一个站长简单的介绍array_rand性能了,于是把许久没写的php再来简单的看看,我们一起来看看array_rand函数用法吧。有需要的朋友们可以参考学习。
    2016-09-09
  • PHP实现的单向散列加密操作示例

    PHP实现的单向散列加密操作示例

    这篇文章主要介绍了PHP实现的单向散列加密操作,涉及PHP数据传输及加密解密等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • PHP中运用jQuery的Ajax跨域调用实现代码

    PHP中运用jQuery的Ajax跨域调用实现代码

    PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下
    2012-02-02

最新评论