Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在实现应该通过 IP 禁止用户的功能。有什么方法可以识别 - 客户端使用专用 IP 还是共享 IP?
问题让我知道。谢谢。
编辑:
或者也许有人有经验如何处理这种情况?
有什么方法可以识别 - 客户端使用专用 IP 还是共享 IP?
不,没有办法。此信息既不是 TCP 也不是 HTTP 协议的一部分,因此永远不会发送到服务器。您所能获得的只是用于将请求发送到您的站点的客户端 IP。
如果它是自动生成的名称,则可以从该 IP 反向查找 DNS 名称,然后对名称进行一些启发式分析,例如:
\d+[-.]\d+[-.]\d+[-.]\d+[-.](ppp|a?dsl)(\.[-a-z0-9]+)+
但这会产生很多误报。