我们如何才能限制访问特定WordPress页面的所有IP地址,除了我们允许的某些地址

时间:2017-02-28 作者:Praveen

我试图限制使用php的特定网页,该网页应仅显示到允许的Ip地址,并且对于剩余的所有Ip地址,它不应被访问。

要求:

1、该页面将位于子菜单列表中。

2、只能显示到允许的ip地址

提前谢谢你。。。。

2 个回复
SO网友:marwyk87

还没有具体做到这一点,但类似的事情

在主题页/帖子模板文件中,您可以通过执行以下操作获取当前帖子/页面的帖子id

$currentID = get_the_ID();
然后重定向所有非指定IP的流量

$ipArr = array(\'xx.xxx.xxx.xxx\', \'xx.xxx.xxx.xxx\');

 if (!in_array(@$_SERVER[\'REMOTE_ADDR\'], $ipArr))
{
    header("Location: http://example.com/myhomepage");
    die();
}

SO网友:Elex

您可以阻止所有IP的访问页面,但不能阻止白名单。

function page_ip_restriction() {
    if(is_page(\'yourpage\'))
    {
        // Whitelist
        $whitelist = array(
            \'127.0.0.1\',
            \'127.0.0.2\',
            \'127.0.0.3\',
        );

        // Check if current user IP is out of the whitelist, then redirect to home
        if(!in_array($_SERVER[\'REMOTE_ADDR\'], $whitelist))
        {
            wp_redirect(home_url(), 403); // 403 -> Forbiden access
            exit();
        }
    }
}
add_action(\'init\', \'page_ip_restriction\', 10);
对于您的子菜单,您有两种方式,wordpress one或css排除。但在我看来,WordPress菜单的使用量确实很大。

如果您想更好地跟踪IP地址,请使用库。

希望对你有帮助!

相关推荐