我的糟糕的网络主机前几天做了一些升级,有些设置出错了,因为查看我们公司的wiki(MediaWiki),每个报价都会被反斜杠转义。它甚至不仅仅是被发布的数据(即:文章)受到影响,而且还有标准的MediaWiki文本。例如:

  

您已经关注了一个尚未存在的网页链接。要创建页面,请在下面的框中输入(有关详细信息,请参阅帮助页面)。如果你错误地在这里,只需点击你的浏览器\'\'后退\'\'\'按钮。

我做的第一件事是使用 .htaccess 文件禁用 magic_quotes_gpc AND magic_quotes_runtime ,但这仍然存在。我的 php_info()报告了这个:

Setting             Local Value   Master Value  
magic_quotes_gpc        Off            On  
magic_quotes_runtime    Off            On  
magic_quotes_sybase     Off            Off  

有什么想法吗?

有帮助吗?

解决方案

如果使用 php_admin_flag / php_admin_value 设置PHP标志,则无法从 .htaccess 文件更改它。这让我有些头疼。要么在 php.ini 中禁用它,要么在运行时撤消魔术引号: http://talks.php.net/show/php-best-practices/ 26个

其他提示

您可能需要确认数据库中的数据是否已损坏。如果您在不知情的情况下使用了addslash()数据,那么magic_quotes已经打开,那么您将双重削减进入数据库的数据。

您需要让他们更改主值,或自己处理。我不相信你可以在运行时为超级全局变量设置 magic_quotes_gpc()。 (在运行时设置它将删除像数据库/文件,但不是全局变量)

if (ini_get('magic_quotes_gpc') ) {
  foreach(

您需要让他们更改主值,或自己处理。我不相信你可以在运行时为超级全局变量设置 magic_quotes_gpc()。 (在运行时设置它将删除像数据库/文件,但不是全局变量)

<*>GET as $key=>$value) {

您需要让他们更改主值,或自己处理。我不相信你可以在运行时为超级全局变量设置 magic_quotes_gpc()。 (在运行时设置它将删除像数据库/文件,但不是全局变量)

<*>GET[$key] = stripslashes($value); } } // etc...

也许其他人正在调用set_magic_quotes_runtime()。

我在显示时使用striplases()来删除斜杠。

http://www.php.net/manual/en/function .stripslashes.php

您是否尝试过联系糟糕的主机并记录错误?如果你在共享主机上,你可能不是唯一受影响的人。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top