网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

使用PHP的PDO_Mysql扩展有效避免sql注入 - 网站安全

来源:自学PHP网    时间:2015-04-15 14:59 作者: 阅读:

[导读] 首先,什么是sql注入?用大白话说就是:当一个人在访问你的应用时,需要输入,他的输入是一些特殊的字符,你没有对输入进行过滤处理导致他的输入改变了你的sql语句的功能,实现...

 首先,什么是sql注入?
用大白话说就是:当一个人在访问你的应用时,需要输入,他的输入是一些特殊的字符,你没有对输入进行过滤处理导致他的输入改变了你的sql语句的功能,实现他自己的目的,通过这种方式他可能能拿到很多权限,从而实施自己的攻击
以上的描述是很不严谨的,如果想深入了解sql注入,访问下面的链接:
 
http://www.php.net/manual/zh/security.database.sql-injection.php
 
本文的目的其实不是让大家知道什么是sql注入,而是希望大家从此可以忘掉sql注入。
在实践中,肯定有很多经验被总结出来,避免sql注入,在以前的mysql和mysqli扩展中,我们都需要手动去处理用户输入数据,来避免sql注入,这个时候你必须要非常了解sql注入,只有了解,才能针对具体的注入方式采取有效措施
 
PDO_Mysql的出现,可以让你从sql注入的斗争中抽身而去,你只需要记住,创建一个pdo_mysql链接实例的时候,设置合适的charset,就再也不必为sql注入揪心了 。非常重要的就是字符集的设定一定要正确,否则还是有一些特殊字符能被构造用于sql注入 。
 
mysql:host=localhost;dbname=testdb;charset=utf8
 
执行sql语句之前prepare
 
恩,貌似就是这么简单,我们就告别了sql注入,感觉有点虚幻。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论