比较时清理$_GET变量

时间:2019-05-27 作者:user3631047

我知道当我想在数据库中保存数据时,我必须清理数据,但下面的例子是一个简单的比较。我应该消毒吗?

if ( ! isset( $_GET[\'page\'] ) ) {
        return;
}

if ( \'google\' === $_GET[\'page\'] ) {
    wp_redirect( \'https://google.com\' );
    exit;
}

if ( \'facebook\' === $_GET[\'page\'] ) {
    wp_redirect( \'https://facebook.com\' );
    exit;
}

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

不,这种情况下不需要消毒。

如果您直接重定向到该值,或者以某种方式输出它,您肯定需要这样做,但由于您只是将其值与白名单(本质上)进行比较,因此无需进行清理或转义。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。