當前位置:首頁 » 編程語言 » phpip歸屬地

phpip歸屬地

發布時間: 2025-03-09 18:08:01

php 怎樣將有范圍的ip轉化為整型範圍

<?php

$ip=$_SERVER["REMOTE_ADDR"];//獲取客戶端IP
$longip=ip2long($ip);

//程序員通常將IP轉換成整形寫入資料庫
//讀取的時候再把它轉成標準的IP地址

$ip=long2ip($longip);

echo'<pre>';
print_r(array($longip=>$ip));

?>

❷ 關於php獲取ip的問題 $ip = $_SERVER['REMOTE_ADDR']; 請高手解答下!

因為你拿本機訪問的,所以只能是127.0.0.1
如果你是區域網用戶,讓其他用戶訪問,就會變成例如:192.168.0.123之類

如果讓外網用戶訪問,就會是外網用戶的IP了

❸ PHP判斷IP是中國IP還是外國IP

//返回ip所在的區域外國ip精確到國名
functiongetcposition($ip){

try{
$res1=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
$res1=json_decode($res1,true);

if($res1["code"]==0){
return$res1['data']["country"].$res1['data']["region"].$res1['data']["city"]."_".$res1['data']["isp"];
}else{
return"未能獲取";
}
}catch(Exception$e){
return"未能獲取";
}
}

❹ php判斷IP跳轉頁面

<?php

//第一步:透過代理獲取用戶真實的IP地址

$theip=getip();

function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}

return $realip;
}

//第二步:通過讀取IP地址庫,找到所屬地區
//假設表名為ip,欄位有begin(起始),end(結束),area(地區代號)

$dblink=@mysql_connect("資料庫伺服器名","資料庫用戶名","資料庫密碼");
$dbselect=@mysql_select_db(資料庫名);
if (!$dbselect){
die("資料庫無法讀取");
}

$result=mysql_query("select * from `ip` where `begin`<=`$theip` and `end`>=`$theip`");
$num=mysql_num_rows($result);

if($num>0){
$info=mysql_fetch_array($result);
$page=$info['area'];
else{
$page='default'; //如果IP不在資料庫中,則用預設的頁面
}

//第三步:轉到相關頁面,如代號為"js",轉到"js.php"頁面
$page.='.html'; //後綴你可以自己取
echo "<script language=\"javascript\">window.location.replace(\"$page\")</script>";

?>

❺ php獲取IP地址的三個函數區別

以下資料供參考:

1、REMOTE_ADDR 瀏覽當前頁面的用戶計算機的ip地址

2、HTTP_X_FORWARDED_FOR 瀏覽當前頁面的用戶計算機的網關

3.HTTP_CLIENT_IP 客戶端的ip

在PHP 中使用 REMOTE_ADDR 來取得客戶端的 IP 地址,但如果客戶端是使用代理伺服器來訪問,那取到的就是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。

要想透過代理伺服器取得客戶端的真實 IP 地址,就要使用 HTTP_X_FORWARDED_FOR 來讀取。

不過要注意的事,並不是每個代理伺服器都能用 HTTP_X_FORWARDED_FOR 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的 IP。

還有一點需要注意的是:如果客戶端沒有通過代理伺服器來訪問,那麼HTTP_X_FORWARDED_FOR 取到的值將是空的。

❻ php怎麼記錄訪問者ip並生成日誌

php獲取訪問者IP地址匯總

在很我的時候我們需要得到用戶的真實IP地址,例如,日誌記錄,地理定位,將用戶信息,網站數據分析等,其實獲取IP地址很簡單$_SERVER[\'REMOTE_ADDR\']就可以了。下面我們就來給大家匯總一下常用的幾種獲取IP地址的方法。

//方法1:

$ip = $_SERVER["REMOTE_ADDR"];

echo $ip;

//方法2:

代碼如下:

$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;

//方法3:

function getRealIp()

{

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);

if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }

for ($i = 0; $i < count($ips); $i++) {

if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {

$ip = $ips[$i];

break;

}

}

}

return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);

}

echo getRealIp();

//方法4:

if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])

{

$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];

}

elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])

{

$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];

}

elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])

{

$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

}

elseif (getenv("HTTP_X_FORWARDED_FOR"))

{

$ip = getenv("HTTP_X_FORWARDED_FOR");

}

elseif (getenv("HTTP_CLIENT_IP"))

{

$ip = getenv("HTTP_CLIENT_IP");

}

elseif (getenv("REMOTE_ADDR"))

{

$ip = getenv("REMOTE_ADDR");

}

else

{

$ip = "Unknown";

}

echo $ip ;

//方法5:

if(getenv('HTTP_CLIENT_IP')) {

$onlineip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$onlineip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR')) {

$onlineip = getenv('REMOTE_ADDR');

} else {

$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

echo $onlineip;

//方法6:

print "您的IP地址是:";

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$cip = $_SERVER["HTTP_CLIENT_IP"];

}

elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){

$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];

}

elseif(!empty($_SERVER["REMOTE_ADDR"])){

$cip = $_SERVER["REMOTE_ADDR"];

}

else{

$cip = "無法獲取!";

}

print $cip;

保存TEXT中

<?php

$ip = $_SERVER['REMOTE_ADDR'];
$time = gmdate("H:i:s",time()+8*3600);
$file = "123.txt" ;
$fp=fopen ("123.txt","a") ;

$txt= "$ip"."----"."$time"."\n";
fputs($fp,$txt);

?>

熱點內容
湖南學安卓哪裡好 發布:2025-03-10 02:40:50 瀏覽:648
伺服器rmc是什麼版本 發布:2025-03-10 02:31:08 瀏覽:473
外部存儲器的空間不足 發布:2025-03-10 02:15:43 瀏覽:460
伺服器怎麼練 發布:2025-03-10 02:14:00 瀏覽:569
ipad忘了id賬號密碼怎麼辦 發布:2025-03-10 02:07:16 瀏覽:471
電腦和伺服器有啥區別啊 發布:2025-03-10 01:59:54 瀏覽:990
股票應該怎麼板塊配置 發布:2025-03-10 01:59:08 瀏覽:223
天正建築編譯菜單文件一直在載入 發布:2025-03-10 01:47:37 瀏覽:567
長安cx70自動擋有哪些配置 發布:2025-03-10 01:35:54 瀏覽:991
百灑存儲 發布:2025-03-10 01:35:43 瀏覽:947