如何在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

流程图:

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

如何在PHP中获取IP地址

获取网站的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.srcmini02.com");
echo "IP Address of srcmini is - ".$ip_address;
?>

输出

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

来源:

https://www.srcmini02.com/29128.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?