Jo *_* E. 6 php ip curl ip-address
好吧,标题基本上是这样说的.
但欲了解更多信息..
这种方法有效..
$ip = '1.1.1.1';
curl_setopt($handle, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip", "X_FORWARDED_FOR: $ip"));
Run Code Online (Sandbox Code Playgroud)
它只keys在$_SERVER阵列上添加这两个
HTTP_REMOTE_ADDRHTTP_X_FORWARDED_FOR关键REMOTE_ADDR仍然是一样的.
可以REMOTE_ADDR改吗?答案在这里说NO.但是评论还说,它可能不是用户的真实IP地址,因为它可能被代理和其他方法隐藏.这就是为什么一般规则不依赖于$_SERVER['REMOTE_ADDR']安全功能的原因.
除此之外还有一个curl php方法来隐藏/掩盖/更改ip?(除了上面的代码之外的任何其他php方法都可以.)
和
有没有办法对抗方法或有没有办法获得用户的ACTUAL REAL IP?
干杯!
dec*_*eze 18
No. $_SERVER['REMOTE_ADDR']是客户端用于连接到Web服务器的实际物理IP地址,由三向TCP握手确认.没有办法通过设置简单的HTTP标头来伪装它.您也无法使webserver/PHP以任何方式用其他内容覆盖此值.$_SERVER['REMOTE_ADDR']是从TCP连接信息,周期设置的.
要实际欺骗IP地址,您必须更深入地了解实际网络层,并对中间位置/代理中的网络设备/人员进行某种程度的控制/实际上能够从IP地址建立TCP连接除了你建立它的那个.
有没有办法对抗方法或有没有办法获得用户的ACTUAL REAL IP?
不可以."用户的实际IP地址"是您的网络服务器从中获取连接的地址.没有其他地址适合您.客户端从某个IP连接到您的服务器,这通过三方TCP握手确认,这是您知道的该客户端的唯一地址.这个客户端可能是代理或NAT路由器(即代理)或其他东西,你根本就不知道,也不应该对你产生任何影响.