繁体   English   中英

使用PHP中的用户IP地址的cURL请求

[英]cURL request with user IP address in PHP

我需要使用用户IP地址而不是服务器IP地址发送请求。 我在这里找到了类似的问题( cURL ip address ),但这并没有帮助我。 有什么主意在这里吗? 我打印了$ ip,并且在那里显示了正确的用户IP,所以应该可以,但事实并非如此。

$curl = curl_init("MYURL");
curl_setopt( $curl, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip", "HTTP_X_FORWARDED_FOR: $ip"));
curl_exec($curl);

我认为您根本无法做到这一点。 首先,您正在尝试使用另一个人的IP发出请求,除非使用代理,否则这基本上是不可能的。 其次,如果您已彻底阅读了提供的链接中的答案,则您在此处尝试通过假冒标题中的IP欺骗服务器,使您认为您是另一个用户。 如果处理响应的(目标)服务器脚本检查HTTP标头(对我来说似乎很不安全),则此方法将起作用。

我将尝试用一个例子来解释它。 假设您的用户IP为12.34.56.78而您自己的IP为99.88.77.66 然后,如果您从自己的服务器/ pc( 99.88.77.66 )发送带有标头HTTP_X_FORWARDED_FOR: 12.34.56.78的请求,并且服务器将忽略该请求和/或还检查$_SERVER['REMOTE_ADDR] (包含99.88.77.66 ),它将将会注意到访问URL的不是用户的IP,而是您的IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM