禁止用户查看页面

  • 本文关键字:用户 禁止 php
  • 更新时间 :
  • 英文 :


我试图使我的PHP页面不允许查看页面,除非你在一个特定的IP如下所示。我不知道该怎么做,因为我没有真正使用PHP很长时间了。

$clientip = $_SERVER['REMOTE_ADDR'];
$whitelistedip = 'realIPhere';
if ($clientip == $whitelistedip) {
echo "Welcome $clientip!";
}

if ($clientip !== $whitelistedip) {
die("Access Denied");
}

IP检查位似乎没有错误,但如果只使用REMOTE_ADDR进行检查,在某些情况下检查可能会失败,因此请参考此问题实现更好的IP检查方法。

此外,除非您在其他地方定义了它们,否则REQUEST_URLURL_OF_CURRENT_PAGE不是$_SERVER环境的有效变量。您可以查看REQUEST_URI,这确实是一个有效的。你可以在这里咨询他们。

我明白,如果IP被列入白名单,您希望只显示HTML页面内容。您可以使用如下所示的语法:

<?php
$clientip = $_SERVER['REMOTE_ADDR'];
$whitelistedip = 'realIPhere';
?>
<?php if ($clientip == $whitelistedip) : ?>
<!-- Place all your HTML here, example: -->
<p>hi</p>
<?php else : ?>
<?php die("Access denied") ?>
<?php endif ?>

在上述情况下,如果IP不在白名单中,则不会显示<p>hi</p>。当然,你应该把你网页的实际内容放上去,而不是hi

我认为对$URL_OF_CURRENT_PAGE的测试是失败的。我不明白你为什么要这么做,你只是想阻止他直接到达那里吗?如果是我来写的话,就简单多了:

if ($clientip == $whitelistedip) {
echo "Welcome $clientip!";
}
else {
die ("Access Denied"); 
}

最新更新