2

我有一个小的 web 功能,应该只在用户在办公室时运行。但问题是我们的互联网提供商会定期更改其 IP,我无法跟踪它。我们办公室有 Windows 7 系统,它们没有任何静态 IP。我什至无法设置静态 IP,因为它会妨碍 Internet 提供商设置并停止连接到 Internet。我现在卡住了。有没有一种方法可以确保一个人只有在使用该功能时才在办公室?

4

6 回答 6

1

一种方法是设置服务器,使其公开 2 个服务——“A”具有可用的“特殊办公室功能”,而“B”没有。

然后,设置网络安全性,以便只能从您的办公室通过 VPN 隧道访问服务 A。

--

另一种方法可能是使用 PKI - 让办公室计算机安装有访问服务 A 功能所需的证书。然而,虽然复杂,但具有足够权限和知识的用户仍然可以复制证书并在家中安装。

于 2012-09-07T09:35:53.787 回答
1

最可靠的方法是使用 MAC 地址进行 ID,因为 IP 可以更改,MAC 地址更难欺骗并且不会更改。它是网卡的“序列号”。因此,除非他们将卡带回家,否则他们将无法访问它。阅读 这篇文章

于 2012-09-07T08:25:48.957 回答
1

您可以使用 dyndns 获取当前 ip。动态 dns 允许 ypou 将主机名重定向到动态 ip。

因此,如果您收到来自未知 IP 或更多 IP 的请求,则自上次请求以来已过去 x 秒,您可以使用 gethostbyname 检索官方 IP。

免费动态 DNS:

http://www.dnsdynamic.org/

获取IP:

$ip = gethostbyname('http://sample.dnsdynamic.org/');  
于 2012-09-07T08:40:49.243 回答
0

如果您的用户不是书呆子,您可以在办公室计算机中设置一个特殊的 cookie,并在用户每次访问应用程序时对其进行检查。

(如果您的用户知道设置和取消设置 cookie,那将失败,因为他们只会将此行为复制到他们的家中)。

此外,从办公室连接时仍应有特定范围的 IP(即使 IP 更改),采样几个 IP 并检查重复模式。

于 2012-09-07T08:21:57.570 回答
0

授权后,为您的办公室用户提供某种令牌。然后使用令牌来确定是否授予访问权限。

令牌可以存储在办公室用户计算机上的 cookie 中,因此只进行一次授权。

于 2012-09-07T08:22:31.707 回答
0

如果您可以访问办公网络 - 您可以尝试配置您的服务器,它可以访问互联网,因此它会为所有请求(发送到您的服务器)添加一些令牌(cookie?)。您将在您的代码中检查它。

于 2012-09-07T08:28:03.313 回答