2011-03-17 97 views
0

基于用户名和密码的登录验证是为我已完成的PHP应用程序完成的。登录验证+ IP地址验证在PHP

我想要实现的IP地址验证也。(一个用户无法从两个不同的IP地址在同一时间登录)

我想知道,这会不会对生产环境可靠吗?因为有些人说只能通过PHP服务器获取代理地址。是这样吗?

回答

1

即使世界几件事情要考虑:

更比可能是您的系统的不同合法用户可以共享他们的ISP提供的IP,这种类型的设置被称为NAT。来自同一合法用户的单独请求可能最终会在同一会话期间通过不同的IP地址进入,这种情况更为罕见,但这种情况发生了。你提到的代理也是一种真正的可能性。

所以在你实现这样的功能之前,一定要仔细考虑一下。

0

您将得到$ _SERVER [“REMOTE_ADDR”]

我不得不考虑时间的约正确的解决方案,但也许你可以做会议事(和它的名字)

http://www.php.net/manual/de/function.session-name.php的IP地址

也许我们也需要数据库。也许我会明天再回复,现在是早上6点:)

0

代理事情是真的。每次请求都通过代理传递IP更改。最后,您可能拥有请愿书通过的最后一个代理人的知识产权。

0

如果您需要实施IP地址验证,您应该保留允许访问系统的列表IP,并根据它检查客户端IP。

如果您担心代理服务器检查HTTP_X_FORWARDED_SERVER,HTTP_X_FORWARDED_FOR等标头来标识源IP地址。我不确定这是否适用于袜子代理服务器。