5

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

您已经点击了一个链接,该链接指向一个尚不存在的页面。要创建页面,请开始在下面的框中输入(有关更多信息,请参阅帮助页面)。如果您不小心在这里,只需单击浏览器的\'\'\'返回\'\'\' 按钮。

我做的第一件事是禁用magic_quotes_gpcmagic_quotes_runtime使用.htaccess文件,但这仍在发生。我的php_info()报告如下:

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

有任何想法吗?

4

5 回答 5

3

您可能需要确认数据库中的数据没有损坏。如果您在打开了magic_quotes 时对您的数据进行了addslash(),那么您将对进入数据库的数据进行双斜线处理。

于 2008-10-24T04:04:05.503 回答
1

您需要让他们更改主值,或自己处理。我不相信您可以magic_quotes_gpc()在运行时设置超级全局变量。(在运行时设置它会剥离数据库/文件之类的东西,但不会剥离全局变量。)

if (ini_get('magic_quotes_gpc') ) {
  foreach($_GET as $key=>$value) {
    $_GET[$key] = stripslashes($value);
  }
} // etc...
于 2008-10-24T01:57:40.377 回答
1

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

于 2008-10-24T07:58:37.637 回答
0

也许还有别的东西在调用 set_magic_quotes_runtime()。

于 2008-10-24T01:03:29.330 回答
-1

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

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

于 2008-11-04T07:51:17.573 回答