我有一个将请求发送到另一台服务器的脚本,但是问题是IPv6
不支持该脚本,因此如果我发送IPv6
然后给出错误,则我需要以下两个之一:
IPv4
地址或IPv4
和IPv6
地址我使用此代码获取IP
地址
function getRealIP()
{
if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED"])) {
$ip = $_SERVER["HTTP_X_FORWARDED"];
} elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_FORWARDED"])) {
$ip = $_SERVER["HTTP_FORWARDED"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
// Strip any secondary IP etc from the IP address
if (strpos($ip, ',') > 0) {
$ip = substr($ip, 0, strpos($ip, ','));
}
return $ip;
}
但是此函数仅返回一个IPv
地址。如何获得所有时间IPv4
或同时获得两个地址?
你不能
仅请求来自的IP地址可用。
没有可靠的方法来识别路由到同一台计算机的其他IP地址(我的笔记本电脑当前有12个IP地址)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句