Php &引用;“垃圾”;某些客户端的$#服务器[';远程地址';]中带有冒号的IP地址
我在服务器上有一个PHP脚本,根据在每台机器上设置的cronjobs,它在一天中的不同时间被多台不同的机器访问。我想知道发出请求的机器的IP,当浏览器发出请求时,以下命令会成功执行:Php &引用;“垃圾”;某些客户端的$#服务器[';远程地址';]中带有冒号的IP地址,php,cron,ip-address,ipv6,Php,Cron,Ip Address,Ipv6,我在服务器上有一个PHP脚本,根据在每台机器上设置的cronjobs,它在一天中的不同时间被多台不同的机器访问。我想知道发出请求的机器的IP,当浏览器发出请求时,以下命令会成功执行: <?php ... echo $_SERVER['REMOTE_ADDR']; ... ?> 但是,当使用CURL或我尝试使用的任何其他命令行工具(包括lynx)创建时,我最终会遇到以下垃圾: 2701:5:4a80:7d:2ee:8eff:5e61:801d 根据我所做的调查,这是A
<?php
...
echo $_SERVER['REMOTE_ADDR'];
...
?>
但是,当使用CURL或我尝试使用的任何其他命令行工具(包括lynx)创建时,我最终会遇到以下垃圾:
2701:5:4a80:7d:2ee:8eff:5e61:801d
根据我所做的调查,这是Apache没有为从命令行接收的请求填充$\u服务器
变量的结果
有人知道如何获取命令行请求,以便更好地使用
$\u服务器变量,或者我应该走另一条路线吗?这不是垃圾,这是正确的远程地址。有人使用IPv6访问您的服务器。我的错:-\n知道如何获取关联的IPv4地址吗?@TMan,这是不可能的。IPv4和IPv6不一定要相互关联。太好了,谢谢你的帮助!我猜我必须在客户端计算机上强制使用IPv4才能获得我要查找的地址?查看有关检查IPv4与IPv6地址的帮助。。。至少可以说,对于您现在开发的任何东西来说,最安全的方法是同时支持IPv4和IPv6。您将在某个时候遇到这两种情况,之后添加IPv6支持需要做更多的工作。。。