我有一个Wordpress网站,我希望锁定公众,就像重定向登录一样,除非您正在注册。所以现在我正在使用的代码是:
<?php
if ( is_user_logged_in() ) {
} else {
$coolio=curPageURL();
if (strpos($coolio,'register.php') !== false) {
break;
}
else{
echo "<script>window.location = 'http://example.com/wp-login.php'</script>";
break;
}
if (strpos($coolio,'login.php') !== false) {
break;
}
else{
echo "<script>window.location = 'http://example.com/wp-login.php'</script>";
break;
}
}
?>
似乎应该可以工作,但它会在我去的任何页面上创建一个无限循环。有人知道为什么吗?
注意:curPageUrl
只返回当前页面网址。
答案 0 :(得分:2)
您发布的代码存在一些重大安全问题:
?register.php
即可避免触发重定向代码。而是使用服务器端会话变量检查。如果未在会话中设置“登录”标志,则会重定向到登录页面。
这有两大优势:
答案 1 :(得分:0)
我不会使用JavaScript进行重定向,请使用php。
其次做这个逻辑:
if(!($_SESSION["loggedin"]== 1))
{
if(!(stripos($url,'register.php')))
{
header('Location: http://example.com/wp-login.php', true, 302);
exit;
}
}