基于用户名和密码的登录验证是为我所做的php应用程序做的。
我也想实现IP地址验证。(一个用户不能同时从两个不同的IP地址登录)
我想知道,这在生产环境中是可靠的吗?因为有些人说代理地址只能由PHP服务器获取。是真地吗?
发布于 2011-03-17 13:10:19
有几件事需要考虑:
您系统的不同合法用户很可能共享来自其ISP的IP,这种类型的设置称为NAT。在同一会话期间,来自相同合法用户的不同请求可能最终通过不同的IP地址进入,这种情况比较少见,但这种情况确实会发生。此外,正如您提到的那样,代理也是一种真正的可能性。
所以在你实现这样一个特性之前一定要仔细考虑一下。
发布于 2011-03-17 13:12:40
您将使用$_SERVER‘’REMOTE_ADDR‘获取IP地址
我必须花更长的时间来考虑合适的解决方案,但也许你可以对会话(以及它的名称)做些什么。
http://www.php.net/manual/de/function.session-name.php
也许我们也需要数据库。也许我明天会再回复,现在是早上6点:)
发布于 2011-03-17 13:14:10
代理这件事是真的。每次请求通过代理时,IP地址都会改变。最后,您可能会获得请愿书通过的最后一个代理的IP。
https://stackoverflow.com/questions/5335049
复制相似问题