-想您所想,多年经验-
白狐广告电话
白狐广告标志
当前位置:网站首页 - 信息中心
PHP如何防SQL注入,过滤、验证和转义?stripslashes和addslashes有什么区别?
2017-6-14|阅:1100|来自:白狐广告

最近遇到一个客户的网站出现sql注入漏洞,由于用的是一套比较老的系统,所以就百度找了一下资料,这一找不要紧,原来防sql注入也不是一件简单的事情。

使用addslashes方法:仍然会导致sql注入漏洞

addslash包括PHP.ini中默认设置的magic_quotes_gpc = On,也会存在这种可能。原因:addslashes对有些特殊字符后跟上'(单引号)并不会加把这个'变成/'。


**************************************************************************************************************
addslashes() 函数在指定的预定义字符前添加反斜杠。这些预定义字符是:
单引号 (') 
双引号 (") 
反斜杠 (\) 
NULL 
**************************************************************************************************************


当magic_quotes_gpc = On时,使用了addslashes()处理后的数据在数据库中将以\’形式保存,如果此时直接输出的话,就会发现比自己期待的内容多了个\,因此stripslashes()出场了,它能把\去掉(区别于str_replace(”\”, “”,$Str))。


**************************************************************************************************************
stripslashes() 函数是 addslashes() 的反向操作,即:删除由 addslashes() 函数添加的反斜杠。
**************************************************************************************************************


那这样做是不是最安全的方法?然而网上有人提出了绕过addslashes() 的方法,那看来这个方法不是可靠的了。


有人又提出了mysql_real_escape_string方法

sql插入之前检查输入参数,还有要用mysql_real_escape_string来处理最后入库的sql...

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。

本函数将 string 中的特殊字符转义,并考虑到连接的当前字符集,因此可以安全用于 mysql_query()。


PHP防SQL注入不要再用addslashes和mysql_real_escape_string了

马上又有人提出了,mysql_escape_string本身并没办法判断当前的编码,必须同时指定服务端的编码和客户端的编码,加上就能防编码问题的注入了。虽然是可以一定程度上防止SQL注入,但不是完美的解决方案。

完美解决方案就是使用拥有Prepared Statement机制的PDO和MYSQLi来代替mysql_query(注:mysql_query自 PHP 5.5.0 起已废弃,并在将来会被移除)。

当然服务器上安装一定的安全防护软件也是很有必要的。



标 签: php防SQL注入 stripslashes addslashes

www.internetzg.com Copyright 2017-2018 | 以上内容白狐广告保留解释权,任何个人或单位不得抄袭COPY本公司网站内容,违者必究。

 

↑上一篇文章: 你还不知道有哪些SEO网络技术呢?…
返回目录    ↓下一篇文章: 怎样提高网站的收录量,如果收录后…

白狐网站建设 白狐设计专门从事网站建设平面广告设计,专业致力于为企业及个人提供优质网站设计(网站建设、网站改版)网站优化推广域名空间画册设计(企业画册设计、产品画册设计、样本设计)印刷彩页单页设计印刷名片T恤衫设计制作台历挂历设计制作标志设计( LOGO设计、商标设计)产品包装设计制作艺术照片设计等。公司是由一流的设计师和专业的制作人员组成的运营团队,拥有多年的网站及广告设计制作经验,服务客户遍及北京、河北、山东、江苏等地区。
首 页 | 关于白狐 | 网站建设 | 平面广告 | 产品服务 | 合作伙伴 | 人才招聘 | 友情链接 | 网站地图 | 联系我们 | 站内搜索
白狐广告www.internetzg.com 网站最佳分辨率为1024*768 京ICP备06068476号
白狐广告服务电话:010-53312027 
13693231513技术 13522191688业务 15011320345售后 15810850699优化
网站建设,北京网站建设,手机建站,北京网站建设公司 北京白狐广告有限责任公司 版权所有
白狐广告公司地址:北京市朝阳区朝阳路8号朗廷大厦A座312室 邮编:100024
返回白狐广告顶部