+ -
当前位置:首页 → 问答吧 → Thinkphp 关于php.ini 中 magic_quotes_gpc开启时候的的BUG

Thinkphp 关于php.ini 中 magic_quotes_gpc开启时候的的BUG

时间:2011-11-05

来源:互联网



; Magic quotes for incoming
GET/POST/Cookie data.
magic_quotes_gpc = Off

在php.ini 找到这个 ;  magic_quotes_gpc = On  默认是这样的 开启的

设定为开启(On)时对客户端获取的变量自动添加反斜杠, 在引号/反斜杠等特殊字符前加反斜杠可以防止数据库注入,作用相当于执行了addslashes() 函数

就会自动加一个 斜杠 / 这样的 ,以前也没这个情况, 最近才出的。不知道有没有 同样的人遇到俺这个情况,

我设定为关闭状态  就正常了,但是 我问了好5个人的 环境配置的哪项 都是处于开启状态的

所以我想知道 是与 thinkphp 的那个地方冲突了 , 昨天我开始以为是我的think 包问题 就重新在官方下载了一个

结果我就写了句随便的代码 就一个本文框 点击提交 然后 insert 时 直接 dump 显示出现

发现只要带 引号/反斜杠等特殊字符 它就给我自动加一个 / 这个,后来 就认为不是包的问题了,

所以请求高手回答下我。谢谢了。

作者: 641221621   发布时间: 2011-11-05

我知道大致原因是由于

magic_quotes_gpc开启并在程序中再次addslashes() 就重复处理, 导致该的情况的发生

但是一般这个环境配置这里 这个项都是开启状态

为什么开始还可以的 现在就不可以了了?  我下载个新tp包 重新搞 个最简单的 输出

没根数据库发生反应 还就一个本文框 提交后直接获取 post 数据 dump 也不行

也跟我里面加的 / 但是只要你里面 没有 引号/反斜杠等特殊字符 就不会给你加 /

作者: 641221621   发布时间: 2011-11-05