【问题标题】:cURL request with user IP address in PHPPHP中带有用户IP地址的cURL请求
【发布时间】:2019-07-04 12:42:16
【问题描述】:

我需要使用用户 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,那么 响应 将被发送回用户的 IP 地址。非常怀疑他们的机器是否知道如何处理该响应,如果它没有立即阻止它开始。 // 你在这里问什么没有什么意义;你应该首先解释你认为你会用这种方式解决什么问题

标签: php curl request


【解决方案1】:

我认为你根本做不到。首先,您试图使用另一个人的 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,但您的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多