【问题标题】:No static IP but need to restrict access to a specific location没有静态 IP 但需要限制对特定位置的访问
【发布时间】:2012-09-07 17:35:53
【问题描述】:

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

【问题讨论】:

  • 你的办公室不会还在使用范围内的IP吗?
  • 使用触发 cookie 写入的令牌。如果 cookie 存在于 $_COOKIE 超全局中,则使用您的函数。
  • 使用no-ip.com 之类的服务怎么样?
  • 有没有办法在 php 中获取 dns 服务器地址?因为我猜即使 ip 改变了,因为 dns 保持不变

标签: php ip


【解决方案1】:

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

【讨论】:

  • 客户端的MAC地址不可用,除非服务器和客户端在同一个局域网网段。
  • 只是一个提示。 MAC很容易改变。在我的机器上,我在卡驱动程序设置中有一个字段,我可以在其中放置一个新的 MAC。我在路由器 Web 界面中的字段相同。所以,如果用户足够聪明 - 这可能是个问题
  • @FAngel 办公室中的计算机不应该有普通用户可以使用的驱动程序设置。所以他们可以在家里更换 MAC,但不知道改什么。
  • @Salketer :我阅读了这篇文章并应用了该代码,但我猜是 '$arp=arp -a $ipAddress;'该语句没有运行,因为它没有显示任何内容。如何确保 arp 命令在我的服务器上运行?
  • arp 建议仅在您在同一个 LAN 上时才有效,这似乎不是您的情况。滚动到 Peter G Mac. 的答案。
【解决方案2】:

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

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

免费动态 DNS:

http://www.dnsdynamic.org/

获取 IP:

$ip = gethostbyname('http://sample.dnsdynamic.org/');  

【讨论】:

    【解决方案3】:

    一种方法是设置服务器,使其公开 2 个服务 - 'A' 具有“仅办公室专用功能”可用,而“B”不可用。

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

    --

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

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

        • 但是那个用户会回家,用他的token再次授权,那有什么意义呢?
        • 授权只能在短时间内开放,一旦所有人都被授权,将不再接受新的授权。
        • 如果用户精通技术并且对工作计算机上的 cookie 具有读取权限,他们可以复制 cookie 并在家中使用它。所以这不是一个安全的解决方案。
        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-10-03
          • 1970-01-01
          • 1970-01-01
          • 2022-01-17
          • 2017-08-16
          • 1970-01-01
          • 2013-11-11
          相关资源
          最近更新 更多