检索准确的外部 IPV4 地址 PHP
Retrieve Accurate External IPV4 Address PHP
我正在观看有关如何在 [YT:DewClarke] 中收集 用户 的真实外部 IP 地址的视频视频。他的代码在他的网站上运行完美,但在我的网站上生成了 IPV6 版本:2701:0564:d210:5be4: 5b0b:8630:4c99:a3be(出于隐私原因随机分配)。 如何获得像 216.3.128.12 这样的 IPV4(出于隐私原因随机分配)?
<?php
function getUserIP(){
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP)){
$ip = $client;
}elseif(filter_var($forward, FILTER_VALIDATE_IP)){
$ip = $forward;
}else{
$ip = $remote;
}
return $ip;
}
$user_ip = getUserIP();
?>
我"echo"数据稍后下线...
<div id="LoggedAs"><span><?php echo $user_ip;?></span></div>
一些有用的信息是我使用 000WebHost.com,运行 通过 CloudFlare.com,它写在 PHP 中,我在该页面上强制使用 SSL。
DewClarke 的源代码可以在这里找到:DewClarke's Source Code
您的代码看起来不错。这似乎是 Cloudflare 设置。转到 Cloudflare ->(您的域)-> 网络。然后将 IPv6 兼容性设置为关闭。
不过建议您将此设置保持为开,因为 IPv6 对于全球网络连接的增长至关重要。
您可能也有兴趣使用此代码来获取 Cloudflare 提供的连接用户的 IP 地址和国家/地区:
$_SERVER['REMOTE_ADDR'] = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : $_SERVER['REMOTE_ADDR'];
$_SERVER['REMOTE_COUNTRY'] = isset($_SERVER['HTTP_CF_IPCOUNTRY']) ? $_SERVER['HTTP_CF_IPCOUNTRY'] : 'Unknown';
我正在观看有关如何在 [YT:DewClarke] 中收集 用户 的真实外部 IP 地址的视频视频。他的代码在他的网站上运行完美,但在我的网站上生成了 IPV6 版本:2701:0564:d210:5be4: 5b0b:8630:4c99:a3be(出于隐私原因随机分配)。 如何获得像 216.3.128.12 这样的 IPV4(出于隐私原因随机分配)?
<?php
function getUserIP(){
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP)){
$ip = $client;
}elseif(filter_var($forward, FILTER_VALIDATE_IP)){
$ip = $forward;
}else{
$ip = $remote;
}
return $ip;
}
$user_ip = getUserIP();
?>
我"echo"数据稍后下线...
<div id="LoggedAs"><span><?php echo $user_ip;?></span></div>
一些有用的信息是我使用 000WebHost.com,运行 通过 CloudFlare.com,它写在 PHP 中,我在该页面上强制使用 SSL。 DewClarke 的源代码可以在这里找到:DewClarke's Source Code
您的代码看起来不错。这似乎是 Cloudflare 设置。转到 Cloudflare ->(您的域)-> 网络。然后将 IPv6 兼容性设置为关闭。
不过建议您将此设置保持为开,因为 IPv6 对于全球网络连接的增长至关重要。
您可能也有兴趣使用此代码来获取 Cloudflare 提供的连接用户的 IP 地址和国家/地区:
$_SERVER['REMOTE_ADDR'] = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : $_SERVER['REMOTE_ADDR'];
$_SERVER['REMOTE_COUNTRY'] = isset($_SERVER['HTTP_CF_IPCOUNTRY']) ? $_SERVER['HTTP_CF_IPCOUNTRY'] : 'Unknown';