PHP获得用户使用的代理服务器ip

本文介绍了一种在PHP中获取客户端真实IP地址的方法,通过检查HTTP_X_FORWARDED_FOR和REMOTE_ADDR等变量来判断是否通过代理服务器访问,并提供了一个实用的函数。
在PHP 中用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址
但如果客户端是使用代理服务器来访问
那取到的就是代理服务器的 IP 地址
要想透过代理服务器取得客户端的真实 IP 地址
就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取
但并不是每个代理服务器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP
有些用此方法读取到的仍然是代理服务器的 IP
  1. functionget_userip()
  2. {
  3. if($_SERVER[HTTP_X_FORWARDED_FOR]=='')
  4. {
  5. if($_SERVER[HTTP_REMOTE_ADDR]=='')
  6. {
  7. $userip=$_SERVER[HTTP_CLIENT_IP];
  8. } else {
  9. $userip=$_SERVER[HTTP_REMOTE_ADDR];}
  10. }
  11. }
  12. else
  13. {
  14. $userip=$_SERVER[HTTP_X_FORWARDED_FOR];
  15. }
  16. return$userip;
  17. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值