Php 仅在指定的IP地址中访问网页
我使用PHP和MySql构建了一个仪表板,我的公司员工可以在这里登录、注销、请假、添加工作报告和维护考勤。一切正常,但我的经理希望仪表板只在我们的办公网络中打开。 由于这是一项简单的任务,我在登录页面中添加了以下代码Php 仅在指定的IP地址中访问网页,php,php-7,Php,Php 7,我使用PHP和MySql构建了一个仪表板,我的公司员工可以在这里登录、注销、请假、添加工作报告和维护考勤。一切正常,但我的经理希望仪表板只在我们的办公网络中打开。 由于这是一项简单的任务,我在登录页面中添加了以下代码 <?php $ip = $_SERVER['REMOTE_ADDR']; if($ip == "xxx.xxx.xxx.xxx") { } else { header("Location: error.php"); } ?&g
<?php
$ip = $_SERVER['REMOTE_ADDR'];
if($ip == "xxx.xxx.xxx.xxx")
{
}
else
{
header("Location: error.php");
}
?>
在error.php页面上,我添加了一条错误消息“您不允许访问此页面”
我使用的IP地址来自谷歌(IPV4)。这是很好的工作,但最近我意识到互联网IP地址经常变化。
现在这种情况不起作用了。因此,任何人都可以帮助我在这种情况下需要使用哪个IP地址,或者解决方案是什么。你的意思是,贵公司的IP不是静态的,并且经常变化 如果是这样,您可以创建一个在公司计算机上运行的脚本,以更新服务器上允许的IP。有两种方法:
- 根据IP地址范围重定向到错误页面。这基本上是一个Web服务器配置任务。它要求您知道来自办公室的流量使用哪些IP地址。要更改IP地址,您需要使两者保持同步
- 将整个服务器移动到本地办公网络。这是首选的解决方案,因为您的基础设施较少暴露在(潜在的恶意)internet上
您的方法与第一种方法类似,只是您试图重新实现Web服务器提供的现成功能。问题已经解决。如果有人在寻找答案 我在internet上找到的最简单的解决方案是允许整个子网 .htaccess代码:
Order Deny,Allow
Deny from all
Allow from 111.111
由于IPV4是可变的,我观察到前6位是静态的&只有后6位是可变的
因此,我删除了PHP函数&使用htaccess中的上述代码,我允许整个子网(通过前6位)您可以要求您的ISP提供固定(静态)IP地址,然后您可以使用非PHP over-arching系统(如Apache)仅允许您的静态固定IP地址访问文件/文件夹。PS>Ulrich的答案是最好的解决方案(即将所有信息都放在本地办公室的互联网上),如何相信它是来自公司内部计算机的方向,而不是来自其他地方的计算机的方向?