【发布时间】:2015-06-04 08:23:42
【问题描述】:
我用python创建了一个服务登录模块。我想限制登录。基于每个 IP 地址尝试失败的登录可能无法正常工作,并且会惹恼通过本地网络连接到 Internet 的用户,因为他们将拥有相同的外部 IP 地址。 有没有办法唯一识别这些用户? 非常感谢!
【问题讨论】:
标签: python authentication ip
我用python创建了一个服务登录模块。我想限制登录。基于每个 IP 地址尝试失败的登录可能无法正常工作,并且会惹恼通过本地网络连接到 Internet 的用户,因为他们将拥有相同的外部 IP 地址。 有没有办法唯一识别这些用户? 非常感谢!
【问题讨论】:
标签: python authentication ip
如果用户在 NAT 之后,我认为没有万无一失的解决方案。 为了区分这些用户,您需要私有 IP 地址,而您无法在 IP 级别获得该地址。如果用户在 NAT 之后,您只能看到所有客户端都相同的公共/外部 IP。你可以尝试 在应用程序级别(客户端)获取私有 IP,但这会很棘手(而且如果私有地址是通过 DHCP 获得的,它可以在请求之间更改) 我能想到的另一个解决方案是通过 cookie 识别用户。 因此,对每个失败的登录请求的 HTTP 响应都将包含一个唯一标识该客户端的 cookie。通过这种方式,您可以区分具有相同 IP 的用户。您必须签署 cookie 值以保持其完整性。但是,如果客户端在每个失败的请求后删除 cookie,这将无济于事。
【讨论】: