【发布时间】:2022-06-29 09:59:26
【问题描述】:
如何使用 PHP 获取客户端 IP 地址?
我想记录通过他/她的 IP 地址登录我网站的用户。
-
请参阅 RFC6302 以了解有关记录内容的建议,特别是现在要记住记录端口而不仅仅是地址。
-
对于那些跟踪用户的提醒,在全球的几个地区,ISPS 正在使用 CGNAT,这使得信任单纯的 IP 地址变得更加复杂
-
function getUserIpAddr(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERVER['HTTP_CLIENT_IP']; }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }else{ $ip = $_SERVER['REMOTE_ADDR']; } 返回 $ip; }
-
你应该使用 Abstract IP detection 。价值在于它会让您知道 IP 是否位于代理或 VPN 后面,我认为这很重要。他们有一个 PHP sn-p,您可以从中复制您的请求。