PHP-获取IP地址

如何在PHP中获取IP地址? 很多时候,我们需要获取访问者的IP地址以用于不同的目的。在PHP中收集IP地址非…

如何在PHP中获取IP地址?

很多时候,我们需要获取访问者的IP地址以用于不同的目的。在PHP中收集IP地址非常容易。PHP提供了PHP$_SERVER变量来轻松获取用户IP地址。为了安全起见,我们可以跟踪访问者在网站上的活动,或者我们可以知道谁在使用我的网站等等。

在PHP中收集访问者IP地址的最简单方法是REMOTE_ADDR。在PHP$_SERVER变量中传递“REMOTE_ADDR”。它将返回当前正在查看网页的访问者的IP地址。

注意:我们可以在网页上显示此IP地址,甚至可以出于很多其他目的将其存储在数据库中,例如-为了安全起见,将访问者重定向到另一个站点,阻止/禁止访问者。

获取网站的IP地址

$_SERVER[‘REMOTE_ADDR’]-返回当前正在访问网页的用户的IP地址。

例如

<?php
echo 'User IP Address - '.$_SERVER['REMOTE_ADDR'];
?>

输出量

User IP Address - ::1

但是有时REMOTE_ADDR不会返回客户端的IP地址,其主要原因是使用代理。在这种情况下,我们将尝试另一种方法来获取PHP中用户的真实IP地址。

<?php
function getIPAddress() {
//whether ip is from the share internet
    if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }
//whether ip is from the proxy
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
//whether ip is from the remote address
else{
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
$ip = getIPAddress();
echo 'User Real IP Address - '.$ip;
?>

输出量

User IP Address - ::1

流程图:

以上程序的流程图如下所示。

获取网站的IP地址

我们还可以通过其网址获取任何网站的IP地址。在gethostbyname()函数内传递网站的URL。

例如

<?php
$ip_address = gethostbyname("www.google.com");
echo "IP Address of Google is - ".$ip_address;
echo "</br>";
$ip_address = gethostbyname("www.javatpoint.com");
echo "IP Address of javaTpoint is - ".$ip_address;
?>

输出量

IP Address of Google is - 172.217.166.4
IP Address of javaTpoint is - 95.216.57.234

类别:PHP 技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册