如何欺骗referrer与curl和php? [英] how spoof referrer with curl and php?

查看:323
本文介绍了如何欺骗referrer与curl和php?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个简单的完整的php + curl代码来欺骗referrer,我尝试了一些其他但不工作,最后一个我检查是

  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 [] =连接: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;
}

请确保我可以通过post方法输入目标网址。 p>

EDIT-上面给我错误 http:// s9.postimg.org/uhk87o2rz/image.png

解决方案

使用 CURLOPT_REFERRER

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

[ EDIT ]
我不认为网站



>在开发人员工具中,转到网络视图(如果它在您加载页面时未打开,则需要重新加载以使其填充)。
点击主页面请求 - 它应该在列表的顶部。
当您单击时,右窗格可能会显示它的HTML。
单击右侧的标题选项卡。
Referer显示在请求标头列表中。


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

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

EDIT- above giving me error http://s9.postimg.org/uhk87o2rz/image.png

解决方案

With the CURLOPT_REFERRER option, which you had already made use of.

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

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.

这篇关于如何欺骗referrer与curl和php?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆