我有许多项目的功能依赖于$_SERVER['REMOTE_ADDR]、$_SERVER['HTTP_X_FORWARDED_FOR']和$_SERVER提供的IP地址['CLIENT_IP']。IPV4地址很容易匹配,因为我们总是以相同的格式接收它们:4个不带前导0的整数,由点.分隔。而IPV6地址可以压缩。例如:FF01:0:0:0:0:0:0:101->FF01::101我一直在研究这个问题,但没有找到任何相关的东西,所以我想问问你的经验。$_SERVER['REMOTE_ADDR]使用标准吗?假设它总是以压缩或未压缩的形式接收是否安全?或者我应该在尝试测试它们之前压缩所有IPV6
我为我女朋友制作了一个网站,她最近想知道谁在访问她的网站。所以我使用MindMax的数据库,我得到了按国家/地区访问的列表和计数。然而,经过几天的监控,令我们惊讶的是,竟然有一些国家的访问不是该网站针对的。当然,这并不是说我认为那些国家的人不可能有兴趣,只是提出了一个准确性问题。那么GeoIP和$_SERVER['REMOTE_ADDR'](用于查找)有多准确?我不太关心那些故意隐藏或伪造IP的人。我只是更想知道是否有什么东西可能无意中使这个不准确(例如,路由)。 最佳答案 好吧,根据他们的网页,他们的数据库“在国家/地区级别准确度
我正在尝试从Gmail中检索邮件并收到以下错误:Can'topenmailbox{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX:invalidremotespecification我的服务器安装了OpenSSL和IMAP,以下是来自phpinfo()的openssl和imap信息;opensslOpenSSLsupportenabledOpenSSLLibraryVersionOpenSSL0.9.7l28Sep2006OpenSSLHeaderVersionimapIMAPc-ClientVersion2007eKerberosS
我有一个PHP脚本位于一台服务器上,根据每台机器上设置的cronjobs,它在一天中的不同时间被几台不同的机器击中。我想知道发出请求的机器的IP以及当它由浏览器发出时,以下内容成功执行:但是,当使用CURL或我尝试使用的任何其他命令行工具(包括lynx)创建时,我最终得到以下垃圾:2701:5:4a80:7d:2ee:8eff:5e61:801d根据我所做的调查,这是因为Apache没有为接收到的从命令行发出的请求填充$_SERVER变量。REMOTEADDRIssuewithCronJob任何人都知道一种方法可以使命令行请求与$_SERVER变量配合得很好,或者我应该走另一条路吗?
好吧,标题基本上就是这么说的。但要了解更多信息。.此方法有效,但..$ip='1.1.1.1';curl_setopt($handle,CURLOPT_HTTPHEADER,array("REMOTE_ADDR:$ip","X_FORWARDED_FOR:$ip"));它只在$_SERVER数组上添加了这两个键HTTP_REMOTE_ADDRHTTP_X_FORWARDED_FORkeyREMOTE_ADDR仍然保持不变。REMOTE_ADDR可以更改吗?答案here说不。但是评论还说但是,它可能不是用户的真实IP地址,因为它可能被代理和其他方法隐藏了。这就是为什么一般规则是不依赖于$
我有一种情况,我正在打开一个基于$_SERVER['REMOTE_USER']变量的文件。我不认为这是欺骗性的,但只是想确认一下。我不想让自己容易受到读取任意文件的攻击: 最佳答案 是的,该用户名是远程用户指定的任何用户名。您还需要验证密码。如果密码是由您的服务器而不是您的应用程序验证的,那么您可能没问题。 关于php-$_SERVER['REMOTE_USER']可以被欺骗吗?,我们在StackOverflow上找到一个类似的问题: https://stac
不知何故$_SERVER['REMOTE_ADDR']返回一个空字符串,我在多个服务器上运行相同的代码(作为脚本的一部分)并且它在其他任何地方都有效,它们都是相同的设置。奇怪的是,当我重新启动apache并加载页面时,它只工作一次,如果我重新加载该站点+此后的所有时间,它都是空的。我让其他人尝试过,同样的结果,空的。有人建议这是IPv6配置问题,我现在已完全禁用IPv6但问题仍然存在。 最佳答案 如果您在代理服务器后面,您可以使用$_SERVER['HTTP_X_FORWARDED_FOR']或$_SERVER['HTTP_CLIE
我正在使用puppet设置Vagrant环境。我遇到了一个问题,我希望xdebug在运行vagrantup时“正常工作”,但是我需要在php.ini文件中指定主机IP地址xdebug.remote_host,显然这在使用配置的每台机器上都会有所不同,所以我想要一种在发出vagrantup时自动更新该值的方法。Vagrant文件:config.vm.network:forwarded_port,guest:9000,host:9000.ini设置:'xdebug.default_enable=1','xdebug.remote_enable=1','xdebug.remote_handl
当我尝试检索远程用户的主机名时,为什么会出现此错误?Message:Undefinedindex:REMOTE_HOST在阅读文档时,我开始知道它需要在httpd.conf中启用。但是我不确定需要在httpd.conf中编辑什么。 最佳答案 这不是错误,这是一个通知。REMOTE_HOST并非在所有情况下都定义。REMOTE_ADDR是。如果需要,您需要重新配置网络服务器。HostnameLookupsOn可以做到,但会导致速度变慢。备选方案:让PHP执行查找,因此您可以在不需要时跳过它(为了提高速度):$r=$_SERVER["R
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:suddenly$_SERVER['REMOTE_ADDR']isstartedreturning10.10.10.10php我一定是在这里错过了一些基本的东西。但是当我导航到一个显示IP的站点时,例如http://www.whatsmyip.org/他们显示了某个IP。但是当我在我网站的页面上回显$_SERVER["REMOTE_ADDR"]时,它显示了不同的IP。这是为什么呢?我如何通过PHP获取whatsmyip.org网站显示的相同IP?