PHP获取客户端真是IP地址代码

  作者:bea

获取用户客户端的IP地址在网站制作中也是必不可少的一项工作,比如在后台管理员的操作,要设计后台操作的日志管理,那么日志中就必须要有一项操作者的IP地址。如何使用PHP获得用户客户端的IP地址呢?看下面代码。 第一种办法: function get_real_ip(){ $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"
获取用户客户端的IP地址在网站制作中也是必不可少的一项工作,比如在后台管理员的操作,要设计后台操作的日志管理,那么日志中就必须要有一项操作者的IP地址。如何使用PHP获得用户客户端的IP地址呢?看下面代码。

第一种办法:

function get_real_ip(){
$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

echo get_real_ip();

第二种办法:

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:".$ip ;
?>

当然我们可以编写一个获取客户端用户的IP类。这样在我们的每个项目中只要调用这个IP类就可以了。

有用  |  无用

猜你喜欢