如何解决静态或动态ips
| 我运行此网站,并批准人们访问该网站的一部分。我只想批准静态IP。如果我有一堆IP,如何确定它们是否是静态的?我可以做其余的部分,但是套接字库中可能有一些功能,或者可以让我编写该部分脚本以查找用户使用的是静态IP还是动态IP的功能。 谢谢 ! PHP / Js也可以。解决方法
无法固有地判断IP地址是静态的还是动态分配的。根据IP解析的主机名,您可能会猜测它们是否是静态的,但是没有确定的方法可以简化此操作。
您可以使用套接字模块将IP解析为主机名,并基于某种“最佳猜测”算法将其标记为“静态”或“动态”,但这仅是:最佳猜测。
这是使用随机Verizon FiOS IP地址的示例。假定任何以\“ pool \”开头的IP是动态分配的。
>>> hostname = socket.gethostbyaddr(\'71.243.222.111\')[0]
>>> if \'pool\' in hostname:
... print hostname,\'is dynamic\'
...
pool-71-243-222-111.lsanca.fios.verizon.net is dynamic
确定所有各种命名约定将非常困难,但这绝不是一个完整的解决方案。
您可能想问自己,首先要解决的问题是什么,以及是否通过IP地址过滤访问是否可以提供所需的验证。,我会使用务实的解决方案:新帐户的试用期为几天。之后,他们只能从用于注册的同一IP登录。如果他们仍然拥有相同的IP,则很可能是静态的。,好吧,您没有问题,对吗?如果他们要求从IP X进行访问,则可以授予他们从IP X的访问权限。如果事实证明它是动态的并且可以切换,则他们将不再具有访问权限。实际上,没有来自动态IP的访问:)
严格来说,IP分配类型的权限是用户要访问的主机。因此,您需要询问用户在他/她的配置中说了什么。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。