我正在创建一个站点,但我希望只有使用私人公司 wifi“XXX”的人才能访问它。这样,人们就不能只在家中访问该网站。有谁知道我如何用 php 做到这一点?我阅读了有关静态 IP 地址的信息,但尚不清楚这是否是实现此目标的可行选择。
提前感谢您的任何想法。
我正在创建一个站点,但我希望只有使用私人公司 wifi“XXX”的人才能访问它。这样,人们就不能只在家中访问该网站。有谁知道我如何用 php 做到这一点?我阅读了有关静态 IP 地址的信息,但尚不清楚这是否是实现此目标的可行选择。
提前感谢您的任何想法。
您正在寻找的是创建一个 Intranet。这就像把所有东西都放在 localhost 上,只有共享同一个 Intranet 的人才能访问它。这并不是真正的 PHP 代码,而是您在网站上设置域的方式。您基本上想在您拥有的私人服务器上设置您的站点,该服务器直接在您的网络上。如果您使用的是 Windows,则可以使用 Internet 信息服务 (IIS) 之类的工具来执行此操作。
基本上,您所做的是使您的网站在您的个人(或工作)网络之外不存在。
通常,您可以使用服务器配置 (Apache) 或路由器配置来限制此类内容。但是,如果您想使用 PHP 解决方案,则可以使用 IP 地址。您可以将对您网站的访问限制为一系列 IP,此方法将验证当前 IP 是否在该范围内被允许,如果不是则终止:
function CheckAccess()
{
$fromip = '127.0.0.1';
$toip = '127.0.0.100';
$ip = ip2long($_SERVER['REMOTE_ADDR']);
return ($ip >= ip2long($fromip) && $ip <= ip2long($toip));
}
if (!CheckAccess())
{
die('Unauthorized access');
}
只要您使用的 Web 服务器位于不转发端口的路由器后面,该防火墙就应该默认阻止来自 Internet 的任何内容访问您的站点。
您根本不需要让 PHP 处理这些问题。您可以将 Web 服务器(或 Web 服务器上的虚拟主机)配置为仅服务于本地网络。Bingo,您有一个 Intranet 站点。
它更安全,因为如果您使用 PHP 代码来控制您的访问,您将无法控制对静态内容(例如图像、文档或下载)的访问。