使用PHP记录用户IP

时间:2013-07-01 05:42:14

标签: php

目前我正在使用此脚本记录我的用户IP地址:

    $userip = $_SERVER['REMOTE_ADDR'];

但是,在我购买Anti-DDoS HTTP代理后,它会返回代理IP。

    $_SERVER['REMOTE_ADDR'] -> 198.12.12.102

我正在将Cloudflare与代理一起使用,因此我在Cloudflare的IP字段中输入了Proxy的IP,然后选择了“绕过Cloudflare网络”。

2 个答案:

答案 0 :(得分:0)

反向代理可以将原始用户的IP存储在HTTP标头中。转储请求标头以查看是否是这种情况。如果没有这样的标题,那么你无能为力。

REMOTE_ADDR是与服务器建立实际套接字连接的系统的地址。如果涉及代理,您应该会看到代理IP。

答案 1 :(得分:0)

嗯,是的,如果请求是代理的,那么所有PHP看到的都是代理的地址。在这种情况下,,仅在这种情况下,您应该查看其他HTTP标头。代理可以,将原始IP地址添加为额外的HTTP标头,例如X-Forwarded-For$_SERVER['HTTP_X_FORWARDED_FOR']中可以使用。{/ p>

注意这些标题通常存在安全风险;只有当您知道您的代理控制权时,代表才明确地添加此标题