如何使用 curl 和 php 欺骗引荐来源网址?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17294244/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 12:38:43  来源:igfitidea点击:

How spoof referrer with curl and php?

phpcurl

提问by golu molu

I need a simple full php + curl code to spoof referrer, I tried some other but not working, last one I checked is this

我需要一个简单的完整 php + curl 代码来欺骗引用,我尝试了其他一些但没有用,我检查的最后一个是这个

function doMagic($url)
{
  $curl = curl_init();

  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: ";

  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00");
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, "http://www.facebook.com");
  curl_setopt($curl, CURLOPT_ENCODING, "gzip,deflate");
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true);

  $html = curl_exec($curl);
  echo 'Curl error: '. curl_error($curl);
  curl_close($curl);

  return $html;
}

please make it so I can enter target url via post method if possible

请这样做,以便我可以在可能的情况下通过 post 方法输入目标网址

EDIT- above giving me error https://s9.postimg.cc/uhk87o2rz/image.png

编辑-上面给我错误https://s9.postimg.cc/uhk87o2rz/image.png

回答by Shankar Damodaran

With the CURLOPT_REFERRERoption, which you had already made use of.

使用您已经使用过的CURLOPT_REFERRER选项。

curl_setopt($ch, CURLOPT_REFERER, "your referer website");

[EDIT] I don't think that website can find referer of your localhost website.

[编辑] 我不认为该网站可以找到您的本地主机网站的引用。

Try this on Google Chrome Browser

在 Google Chrome 浏览器上试试这个

In the Developer Tools, go to the Network view (if it wasn't open when you loaded the page, you'll need to reload to get it populated). Click on the main page request -- it should be at the top of the list. When you click, the right pane will probably show the HTML for it. Click on the "Headers" tab on the right side. The Referer is shown in the list of Request Headers.

在 Developer Tools 中,转到 Network 视图(如果加载页面时它没有打开,则需要重新加载以填充它)。单击主页请求——它应该在列表的顶部。单击时,右窗格可能会显示它的 HTML。单击右侧的“标题”选项卡。Referer 显示在请求标头列表中。