WordPress插件和magic_quotes_gpc的问题

时间:2010-08-04 13:17:41

标签: php wordpress wordpress-plugin

我想写一些插件,在管理面板和博客文章中添加表单。我现在正在使用magic_quotes挣扎。

首先,我尝试使用magic_quotes_gpc,就像在PHP中一样。但看起来WordPress忽略了这个标志,并且总是引用提交的表单内容(至少在帖子中的表单,管理面板中的表单都没有引用)。

但后来我将我的插件上传到DreamHost,它以不同的方式运作。

在WordPress插件中处理提交的表单内容的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

基本上,您似乎在(可能)您的开发环境和Dreamhost之间有不同的PHP配置。我假设您希望您的插件能够处理两种情况:magic_quotes开启和关闭。这是一些想法/想法。

  • 您不能总是在运行时更改php.ini设置 - 这取决于服务器配置。

  • 您也不能总是更改php.ini。 On Dreamhost this is possible,但不受支持。

  • 您可以使用ini_get()检测是否激活了magic_quotes。

  • magic_quotes_gpc基本上在所有GET,POST和COOKIE数据上运行addslashes()

  • 您可以使用stripslashes()执行反向操作。

一种常见的技术是编写一个简单的包装器来访问参数(GET / POST / COOKIE),例如:

function myplugin_param($name)
{
    if (ini_get('magic_quotes_gpc'))
    {
        return stripslashes($_REQUEST[$name]);
    }
    return $_REQUEST[$name];
}

希望有所帮助!