ThinkPHP出现自动转义解决办法总结

这种情况是在 php.ini中的magic_quotes_gpc 开启的情况下发生的。原因是thinkphp在入库的时候没有判断 magic_quotes_gpc 是否开启,直接进行了转义处理。

我的解决办法:在baseAction中自动执行

 代码如下 复制代码

public function _initialize()
      {
          //去除转义 不用系统的自动转义
          if (get_magic_quotes_gpc()) {
            $this->mystrip(&$_POST);
            $this->mystrip(&$_GET);
        }
      //去除转义方法
      public function mystrip($data){
          if (is_array($data)){
              foreach ($data as &$v){
                  $this->mystrip(&$v);
              }
          }else{
              $data = stripslashes($data);
          }
      }

或者在接收数据的时候处理

 代码如下 复制代码

$data['content'] = stripslashes(htmlspecialchars_decode($_POST['content']))

主要使用php中stripslashes函数

 

别人解决办法:是在入口文件增加如下代码则可:(没试过自己试试吧)

 代码如下 复制代码

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);
}

时间: 2024-09-21 22:29:20

ThinkPHP出现自动转义解决办法总结的相关文章

织梦cms添加自定义表段内容被转义解决办法

最近零零下载站网站改版添加了自定义字段,本来一切正常. 可是添加数据之后发现一些html标签被转义.原来是添加自定义表段使用了默认的类型(varchar), 所以解决办法就是修改文本类型为html文本,再次插入数据,一切正常. 本文由零零下载站在http://www.xxindu.com/jp/a65400.html原创首发.

WINXP系统关机自动重启怎么办 WINXP系统关机自动重启解决办法

最近有的用户出现电脑WINXP系统关机自动重启的情况,此问题比较好解决,下面小编带来解决办法,请大家参考! 问题描述:WINXP系统关机变成自动重启 1.右击"我的电脑",选取属性----高级----启动和故障恢复----设置----系统失败----自动重新启动,将前面的勾取消掉. 2.将所有外接设备拔掉,然后再进行测试.. 以上就是小编给大家带来的WINXP系统关机自动重启问题解决办法的全部内容了,希望大家喜欢,祝大家生活愉快!

电脑开机自动断电解决办法总结

电脑开机自动断电问题 1.检查主板上的电解电容器是不是有鼓起现象,如果有,就需要更换电容了. 2.如果没有,估计是你的电脑电源输出功率不够了.电脑在关机一段时间后,启动困难或者启动过程死机.自动重新启动.或者部分硬件不能正常加载,一般是主机电源有问题,电源的输出电压不足,电脑开机时用电量大从而造成电压跌落,导致电脑不能正常启动,重启后,由于前一次开机已经对各硬件进行了一定的充电,用电量小了就可以正常启动了. 你这样测试一下,如果电脑装有光驱.软驱.或者刻录机之类的硬件,你断开它们的电源,这样可以

linux中crontab计划任务自动清空解决办法

背景描述: 某次,同事告知有台服务器上的crontab里面的任务全部都没有了,要我帮忙查一下,幸好crontab内容有备份.于是就先恢复了crontab的任务. 再具体查一下是由人为操作导致的还是其他情况 问题排查: 检查一下所有的history记录,发现没有crontab -r之类的操作(已知的是只有crontab -r可以直接清空定时任务),当然执行crontab -e编辑也可以清空,但这种情况还是排除啦 但是发现有crontab之类的操作,大家都知道执行crontab不加任何参数,命令行会

linux中/etc/resolv.conf经常自动改写解决办法

之前遇到过的情况有(DNS server 抓不对,且会被改写!) Ubuntu 6.10 (Edgy) 通过 ppp 拨号时,只抓到 ADSL Modem DHCP server IP. Ubuntu 7.04 (Feisty) 那个可恶的network-manager程序会定时抓 ADSL Modem DHCP server IP. VMWare 中的 Guest OS 以 NAT 网络 获取IP的时候,只抓到NAT DHCP server IP. 于是有很多人都跳出来问一个问题:"如何避免

QQ不能在win7下靠边自动隐藏解决办法

你用过WIN7 64位吗? 看图: 按上面的方法只能在wndows7以外的系统哦,在window7下是不行的. 1. 鼠标点击桌面右键,选择"屏幕分辨率"   2. 选择"高级设置"     3. 选择"屏幕显示",把下面那个"启用'自动滚屏'"的勾去掉即可. 注: Windows 7中有一个不错的功能可以智能地把用户打开的所有窗口进行整理,一旦你将一个窗口拖到屏幕最前方它就会自动最大化.我们很喜欢这个新系统,因为它是如此聪明

电脑蓝屏后自动重启怎么办?蓝屏后自动重启解决办法

方法一.我们在桌面右键"我的电脑或计算机"然后在弹出菜单点击"属性"-进入之后找到"设置"---取消"自动重新启动" 选中它,具体如下图所示:(XP与Windows 7位置相同) 方法二.如果我们进入不了系统我们可以按下"F8",选择"禁用系统失败时自动重新启动"后按确定(回车).如下图: Win XP系统 Windows 7系统 哈哈,上面的效果我们是测试在windows xp与win

Windows 10关机自动重启什么原因 Windows 10关机自动重启解决办法

这个问题应该是Win10还没完善导致的,只要将系统的快速启动关了就可以了.  1.首先进入控制面板--电源选项: 2.然后进入选择关闭盖子的功能:     3.然后点更改当前不可用的设置:     4.然后再将启用快速启动的勾打掉就行了.  

ThinkPHP提交表单时默认自动转义的解决方法_php实例

本文实例讲述了ThinkPHP提交表单时默认自动转义的解决方法.分享给大家供大家参考.具体方法如下: 一.问题: 在ThinkPHP中提交表单插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,但是我不想给单引号和双引号加上反斜线. 在ThinkPHP中提交表单插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,但是我不想给单引号和双引号加上反斜线,在ThinkPHP中提交表单插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,但是我不