thinkphp add()在防止sql注入时使用escape_string时出现的问题

此人已死,有事烧纸 发布于 2012/04/21 21:39
阅读 1K+
收藏 3

我使用thinkphp的add()直接向数据库中插入数据

本机测试,当输入的内容中含有\,',"时,thinkphp自动使用escape_string进行了转义

所以用户输入can't,执行sql插入时为:can\'t。存入数据库的也是can't,并不会出现错误。

但当我把项目上传到服务器上时候存入数据库的就成了can\'t

我在网上搜相关的内容,也没有解决这个。

各位有什么高见?

 

加载中
0
AiryLinus
AiryLinus
一般会在入口进行处理,判断是否打开 magic_quotes_gpc,如果打开就用 ini_set 关闭这个选项。然后统一进行 escape 处理。
0
leo108
leo108
说明服务器打开了 magic_quotes_gpc,自动进行 escape操作,你已经不需要再 escape了
返回顶部
顶部