php mysql自动反转义_ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法...

本文介绍了在magic_quotes_gpc开启时ThinkPHP入库出现两次反斜线转义的问题及其解决方法,包括在入口文件添加代码进行转义处理的修正,以及对DbMysql.class.php中转义函数的改进,以防止二次转义和遗漏转义。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法,主要通过针对magic_quotes_gpc开启的情况下进行检查与判断转义来实现,需要的朋友可以参考下

本文实例讲述了ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法。分享给大家供大家参考。具体方法如下:

这种情况是在 magic_quotes_gpc 开启的情况下发生的。原因是thinkphp在入库的时候没有判断 magic_quotes_gpc 是否开启,不管三七二十一地进行了转义处理。

解决办法是在入口文件增加如下代码则可:

if (!get_magic_quotes_gpc()) {

function addslashes_deep($value) {

$value = is_array($value) ?

array_map('addslashes_deep', $value) :

addslashes($value);

return $value;

}

$_POST = array_map('addslashes_deep', $_POST);

$_GET = array_map('addslashes_deep', $_GET);

$_COOKIE = array_map('addslashes_deep', $_COOKIE);

$_REQUEST = array_map('addslashes_deep', $_REQUEST);

}

有人这样修改DbMysql.class.php中的转义函数:

public function escape_string($str) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值