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

被折叠的 条评论
为什么被折叠?



