我的主機是 FC4 + PHP Version 5.0.4
最近宊然抓不到來訪者的IP , 我用的是
$HTTP_ENV_VARS['REMOTE_ADDR'] 來抓, 但得到是空字串. 但原先是正常的. 問題會出在那?
我的主機是 FC4 + PHP Version 5.0.4
最近宊然抓不到來訪者的IP , 我用的是
$HTTP_ENV_VARS['REMOTE_ADDR'] 來抓, 但得到是空字串. 但原先是正常的. 問題會出在那?
REMOTE_ADDR 不見得抓的是正確的 user ip address
當虛擬 ip 用戶透過分享器或其他方式上網者 , 有可能就會抓錯
分享兩個可抓到 Client 端正確 IP 的 php 小程式
(類似的程序很多 , 不過大同小異)
<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
?><?php
if($_SERVER["HTTP_X_FORWARDED_FOR"])
{
if ($_SERVER["HTTP_CLIENT_IP"])
{
$proxy = $_SERVER["HTTP_CLIENT_IP"];
}
else
{
$proxy = $_SERVER["REMOTE_ADDR"];
}
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else
{
if ($_SERVER["HTTP_CLIENT_IP"])
{
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
}
}
echo "Your IP $ip<BR>\n";
if (isset($proxy))
{
echo "Your proxy IP is $proxy<BR>\n";
}
?>
書籤