PHP 获取访客IP的方法总结
2014-03-10 22:40:32 -0400
PHP 获取访客IP的方法:
第一种方法,也是最简单的一种,代码如下:
<?
$qsyzDOTnet_IP = $_SERVER["REMOTE_ADDR"];
echo "你的IP是:".$qsyzDOTnet_IP;
?>
第二种方法:
<?php
$qsyzDOTnet_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$qsyzDOTnet_IP = ($qsyzDOTnet_IP) ? $qsyzDOTnet_IP : $_SERVER["REMOTE_ADDR"];
echo $qsyzDOTnet_IP;
?>
第三种方法:
<?php
function ShowIP()
{
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
$qsyzDOTnet_ip = $_SERVER["HTTP_CLIENT_IP"];
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
$qsyzDOTnet_ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(!empty($_SERVER["REMOTE_ADDR"]))
$qsyzDOTnet_ip = $_SERVER["REMOTE_ADDR"];
else
$qsyzDOTnet_ip = "未知IP";
return $qsyzDOTnet_ip;
}
echo "你的IP是:".ShowIP();
?>
第四种方法:
<?
if(getenv('HTTP_CLIENT_IP'))
{
$qsyzDOTnet_IP = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR'))
{
$qsyzDOTnet_IP = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR'))
{
$qsyzDOTnet_IP = getenv('REMOTE_ADDR');
}
else
{
$qsyzDOTnet_IP = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo "你的IP是:".$qsyzDOTnet_IP;
?>
第五种方法:
<?
function ShowIP()
{
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
{
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$qsyzDOTnet_IP = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip)
{
array_unshift($qsyzDOTnet_IP, $ip); $ip = FALSE;
}
for ($i = 0; $i < count($qsyzDOTnet_IP); $i++)
{
if (!eregi ("^(10|172/.16|192/.168)/.", $qsyzDOTnet_IP[$i]))
{
$ip = $qsyzDOTnet_IP[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo "你的IP是:".ShowIP();
?>
第六种方法:
<?
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$qsyzDOTnet_ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif($HTTP_SERVER_VARS["HTTP_CLIENT_qsyzDOTnet_ip"])
{
$qsyzDOTnet_ip = $HTTP_SERVER_VARS["HTTP_CLIENT_qsyzDOTnet_ip"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$qsyzDOTnet_ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$qsyzDOTnet_ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_qsyzDOTnet_ip"))
{
$qsyzDOTnet_ip = getenv("HTTP_CLIENT_qsyzDOTnet_ip");
}
elseif (getenv("REMOTE_ADDR"))
{
$qsyzDOTnet_ip = getenv("REMOTE_ADDR");
}
else
{
$qsyzDOTnet_ip = "未知";
}
echo "你的IP是:".$qsyzDOTnet_ip;
?>
将相应的代码保存为PHP文件即可。
Back to home
Subscribe |
Register |
Login
| N