-1

我正在创建一个站点,但我希望只有使用私人公司 wifi“XXX”的人才能访问它。这样,人们就不能只在家中访问该网站。有谁知道我如何用 php 做到这一点?我阅读了有关静态 IP 地址的信息,但尚不清楚这是否是实现此目标的可行选择。

提前感谢您的任何想法。

4

4 回答 4

1

您正在寻找的是创建一个 Intranet。这就像把所有东西都放在 localhost 上,只有共享同一个 Intranet 的人才能访问它。这并不是真正的 PHP 代码,而是您在网站上设置域的方式。您基本上想在您拥有的私人服务器上设置您的站点,该服务器直接在您的网络上。如果您使用的是 Windows,则可以使用 Internet 信息服务 (IIS) 之类的工具来执行此操作。

基本上,您所做的是使您的网站在您的个人(或工作)网络之外不存在。

于 2013-07-15T23:14:56.510 回答
0

通常,您可以使用服务器配置 (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');
}
于 2013-07-15T23:13:39.490 回答
0

只要您使用的 Web 服务器位于不转发端口的路由器后面,该防火墙就应该默认阻止来自 Internet 的任何内容访问您的站点。

于 2013-07-15T23:16:27.463 回答
0

您根本不需要让 PHP 处理这些问题。您可以将 Web 服务器(或 Web 服务器上的虚拟主机)配置为仅服务于本地网络。Bingo,您有一个 Intranet 站点。

它更安全,因为如果您使用 PHP 代码来控制您的访问,您将无法控制对静态内容(例如图像、文档或下载)的访问。

于 2013-07-15T23:25:21.947 回答