alec5106
2007-10-08, 12:14 AM
我的主機是 FC4 + PHP Version 5.0.4
最近宊然抓不到來訪者的IP , 我用的是
$HTTP_ENV_VARS['REMOTE_ADDR'] 來抓, 但得到是空字串. 但原先是正常的. 問題會出在那?
贊助商連結
最近宊然抓不到來訪者的IP , 我用的是
$HTTP_ENV_VARS['REMOTE_ADDR'] 來抓, 但得到是空字串. 但原先是正常的. 問題會出在那?
贊助商連結
贊助商連結 alec5106 2007-10-08, 12:14 AM 我的主機是 FC4 + PHP Version 5.0.4 最近宊然抓不到來訪者的IP , 我用的是 $HTTP_ENV_VARS['REMOTE_ADDR'] 來抓, 但得到是空字串. 但原先是正常的. 問題會出在那? 贊助商連結 alec5106 2007-10-08, 01:39 AM 不好意思, 我自己找到答案了 在設定檔中 register_long_arrays = on 即可 阿 土 2007-10-08, 03:25 PM 不好意思, 我自己找到答案了 在設定檔中 register_long_arrays = on 即可 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"; } ?> |
|