Php 我需要创建一个简单的网页,只显示一些人的公共IPV4地址在他们的浏览器窗口
我想做的是创建一个简单的页面,可能是用php,它只显示IPV4地址 它应该类似于此站点,但不显示仅IPV6和IPV4 这个站点显示了我的IPV6地址,我知道这两个地址都在工作,因为Whatsmyip.com显示了我的IPv4Php 我需要创建一个简单的网页,只显示一些人的公共IPV4地址在他们的浏览器窗口,php,ipv6,ipv4,Php,Ipv6,Ipv4,我想做的是创建一个简单的页面,可能是用php,它只显示IPV4地址 它应该类似于此站点,但不显示仅IPV6和IPV4 这个站点显示了我的IPV6地址,我知道这两个地址都在工作,因为Whatsmyip.com显示了我的IPv4 谢谢大家的帮助 获取访问者/客户端IP地址的最简单方法是使用$\u SERVER['REMOTE\u ADDR']或$\u SERVER['REMOTE\u HOST']变量 但是,有时这不会返回访问者的正确IP地址,因此我们可以使用其他一些服务器变量来获取IP地址 以下两
谢谢大家的帮助 获取访问者/客户端IP地址的最简单方法是使用$\u SERVER['REMOTE\u ADDR']或$\u SERVER['REMOTE\u HOST']变量 但是,有时这不会返回访问者的正确IP地址,因此我们可以使用其他一些服务器变量来获取IP地址 以下两个函数是等效的,只是在检索值的方式和位置上有所不同 getenv用于获取PHP中环境变量的值
// Function to get the client IP address
function get_client_ip() {
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
$\u SERVER是一个数组,包含由web服务器创建的服务器变量
// Function to get the client IP address
function get_client_ip() {
$ipaddress = '';
if ($_SERVER['HTTP_CLIENT_IP'])
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
else if($_SERVER['HTTP_X_FORWARDED_FOR'])
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if($_SERVER['HTTP_X_FORWARDED'])
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
else if($_SERVER['HTTP_FORWARDED_FOR'])
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if($_SERVER['HTTP_FORWARDED'])
$ipaddress = $_SERVER['HTTP_FORWARDED'];
else if($_SERVER['REMOTE_ADDR'])
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
创建一个ip.php文件并将以下代码放入其中:
<?php
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
echo $ip;
我的回答基于对一个类似问题的回答:
我要感谢那些愿意帮助回答问题的人,感谢那些给出评论的人,为什么?我不给一个向下的评论,然后不留下评论,这只是垃圾邮件真的。这是一个简单和完美的答案,我一直在寻找,如果我可以,我会击中向上箭头10次!谢谢谢谢你的帮助,我最终选择了更简短的版本,谢谢你!