【问题标题】:Accessing a webpage only in the specified IP address只访问指定 IP 地址的网页
【发布时间】:2021-08-15 11:08:48
【问题描述】:

我使用 PHP 和 MySql 构建了一个仪表板,我的公司员工可以在其中登录、注销、请求休假、添加工作报告并保持他们的出勤率。一切正常,但我的经理希望该仪表板仅在我们的办公室网络中打开。 由于这是一个简单的任务,我将以下代码添加到登录页面。

<?php
$ip = $_SERVER['REMOTE_ADDR'];  

if($ip == "xxx.xxx.xxx.xxx")
{
}
else
{
  header("Location: error.php");
}
?>

在error.php页面上,我添加了一条错误消息“您不允许访问此页面”。

我使用的 IP 地址来自 Google (IPV4)。这工作正常,但最近我意识到互联网 IP 地址经常更改。 现在条件不行了。所以任何人都可以帮助我在条件下我需要使用哪个 IP 地址或解决方案。

【问题讨论】:

  • 您可以向您的 ISP 索要一个固定(静态)IP 地址,然后您可以使用非 PHP over arching 系统如 Apache .htaccess to add some trivial rules 只允许您的静态固定 IP 地址访问文件/文件夹。 PS> Ulrich 的回答是最好的解决方案(即将其全部放入本地办公室互联网)

标签: php php-7


【解决方案1】:

有两种方式:

  • 您根据 IP 地址范围重定向到错误页面。这基本上是一个网络服务器配置任务。它要求您知道来自您办公室的流量使用了哪些 IP 地址。要更改 IP 地址,您需要使两者保持同步。
  • 您将整个服务器移至本地办公网络。这是首选的解决方案,因为暴露给(可能是恶意的)互联网的基础设施较少。

您的方法与第一种方法类似,只是您尝试重新实现您的网络服务器已经提供的开箱即用的功能。

【讨论】:

    【解决方案2】:

    你的意思是你公司的IP不是静态的,而且会定期变化?

    如果是这样,您可以创建一个在您公司的计算机上运行的脚本,该脚本将更新服务器上允许的 IP。

    【讨论】:

    • 如何相信来自公司内部的计算机而不是来自其他地方的计算机的指导?
    【解决方案3】:

    问题已解决。如果有人在寻找答案,

    我在互联网上找到的最简单的解决方案是允许整个子网。

    .ht访问代码:

    Order Deny,Allow
    Deny from all
    Allow from 111.111
    

    由于 IPV4 是变化的,我观察到前 6 个数字是静态的,只有最后 6 个数字是变化的。

    所以我删除了 PHP 函数并在 htaccess 中使用上面的代码,我允许整个子网(通过第一个 6 位)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-18
      • 2016-11-16
      • 1970-01-01
      • 2017-10-17
      • 2011-03-16
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      相关资源
      最近更新 更多