2013-01-26

PHP教學-取得使用者IP語法$_SERVER["REMOTE_ADDR"]函數

PHP有一項語法可以直接取得到一般使用者IP。


$_SERVER["REMOTE_ADDR"];


但若使用者是使用proxy server(代理伺服器)上網時,則使用上面的語法會取得到代理伺服器IP,並非使用者真正的IP,因此並需先檢查以下兩個語法指令是否有存在數值。


$_SERVER["HTTP_CLIENT_IP"];

$_SERVER["HTTP_X_FORWARDED_FOR"]; 

若檢查上述的兩個變數並沒有數值存在,則代表使用者並非使用代理伺服器上網,因此使用『REMOTE_ADDR』就可以取得到IP。以下是程式供參考。

if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
  $ip=$_SERVER['HTTP_CLIENT_IP'];
}
else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
  $ip=$_SERVER['REMOTE_ADDR'];
}
?>



以下是大明認為這項語法可以應用於

1、會員登入IP紀錄,檢查是否IP登入異常。
2、IP記錄,瞭解訪客使用者瀏覽哪些網頁。
3、廣告聯播檢查是否相同類似IP點擊廣告。
4、是否有相同類似IP大量攻擊網站。
5、禁止或開放指定IP連線。

Related Posts Plugin for WordPress, Blogger...
无觅相关文章插件,快速提升流量
友荐云推荐




沒有留言:

張貼留言