上海龙凤419

php说话

操纵php捏造referer的体例

时辰:2024-11-12 05:33:18 php说话 我要投稿
  • 相干保举

操纵php捏造referer的体例

  当阅读器向web办事器发送要求的时辰,普通会带上Referer,告知办事器我是从哪一个页面链接过去的,办事器籍此能够或许取得一些信息用于处置,不过这个Referer是能够或许捏造。下面是小编为大师带来的操纵php捏造referer的体例,接待阅读。

  操纵php捏造referer的体例

  甚么是HTTP Referer

  简言之,HTTP Referer是header的一局部,当阅读器向web办事器发送要求的时辰,普通会带上Referer,告知办事器我是从哪一个页面链接过去的,办事器籍此能够或许取得一些信息用于处置。比方从我主页上链接到一个伴侣那边,他的办事器就能够或许从HTTP Referer中统计出天天有几多用户点击我主页上的链接拜候他的网站。

  Referer实在应当是英文单词Referrer,不过拼错的人太多了,以是编写规范的人也就将功补过了。

  我的题目

  我方才把feed阅读器转变为Gregarius,但他不像我之前用的liferea,拜候新浪博客的时辰,没法显现此中的图片,提醒“此图片仅限于新浪博客用户交换与相同”,我晓得,这便是HTTP Referer致使的。

  由于我上彀客户端设置装备摆设的特别性,起首思疑是squid的题目,但经由过程尝试解除,不过同时发明了一个Squid和Tor、Privoxy协同操纵的隐衷泄漏题目,留待今后研讨。

  Gregarius能处置这个题目么?

  谜底是不是定的,由于Gregarius只是担任输入html代码,而对图象的拜候是有客户端阅读器向办事器要求的。

  不过,装置个firefox扩大或许能处置题目,文中保举的”Send Referrer”我不找到,但发明别的一个可用的:”RefControl“,能够或许按照拜候网站的差别,节制操纵差别的Referer。

  可是我不喜好用Firefox扩大来处置题目,由于我感受他效力太低,以是我用更好的体例——Privoxy。

  Privoxy真棒

  在Privoxy的default.action中增加两行:

  {+hide-referrer{forge}}

  .album.sina.com.cn

  如许Gregarius中新浪博客的图片就出来了吧?+hide-referrer是Privoxy的一个过滤器,设置拜候时对HTTP Referer的处置体例,前面的forge代表用拜候地点看成Refere的,还能够或许换成block,代表打消Referer,或间接把须要用的Referer网址写在这里。

  用Privoxy比用Firefox简略的多,赶快换吧。

  From https to http

  我还发明,从一个https页面上的链接拜候到一个非加密的http页面的时辰,在http页面上是查抄不到HTTP Referer的,比方当我点击本身的https页面下面的w3c xhtml考证图标(网址为//XXX),历来都没法完成校验,提醒:

  No Referer header found!

  本来,在http和谈的rfc文档中有界说:

  代码以下:

  15.1.3 Encoding Sensitive Information in URI's

  Clients SHOULD NOT include a Referer header field in a (non-secure)

  HTTP request if the referring page was transferred with a secure

  protocol.

  如许是出于宁静的斟酌,拜候非加密页时,若是来历是加密页,客户端不发送Referer,IE一向都是如许完成的,Firefox阅读器也不破例。但这并不影响从加密页到加密页的拜候。

  Firefox中对于Referer的设置

  都在里,有两个键值:

  network.http.sendRefererHeader (default=2) 设置Referer的发送体例,0为完整不发送,1为只在点击链接时发送,在拜候页面中的图象甚么的时辰不发送,2为一直发送。参见Privacy Tip #3: Block Referer Headers in Firefox

  network.http.sendSecureXSiteReferrer (default=true) 设置从一个加密页拜候到别的一个加密页的时辰是不是发送Referer,true为发送,false为不发送。

  操纵Referer避免图片盗链

  固然Referer并不靠得住,但用来避免图片盗链仍是充足的,究竟成果不是每一小我城市点窜客户真个设置装备摆设。完成普通都是经由过程apache的设置装备摆设文件,起首设置许可拜候的地点,标记上去:

  # 只许可来自don.com的拜候,图片能够就安排在don.com网站的页面上

  SetEnvIfNoCase Referer "^//www.don.com/" local_ref

  # 间接经由过程地点拜候

  SetEnvIf Referer "^$" local_ref

  而后再划定被标记了的拜候才被许可:

  代码以下:

  <FilesMatch ".(gif|jpg)">

  Order Allow,Deny

  Allow from env=local_ref

  </FilesMatch>

  或

  代码以下:

  <Directory /web/images>

  Order Deny,Allow

  Deny from all

  Allow from env=local_ref

  </Directory>

  不要操纵Rerferer的处所

  不要把Rerferer用在身份考证或其余很是主要的查抄上,由于Rerferer很是轻易在客户端被转变,不论是经由过程下面先容的Firefox扩大,或是Privoxy,乃至是libcurl的挪用,以是Rerferer数据很是之不可托。

  若是你想限定用户必须从某个进口页面拜候的话,与其操纵Referer,不如操纵session,在进口页面写入session,而后在其余页面查抄,若是用户不拜候过进口页面,那末对应的session就不存在,参见这里的会商。不过和下面说的一样,也不要过于信任这类体例的“考证”成果。

  小我感受此刻Rerferer除用在防盗链,其余用处最多的便是拜候统计,比方统计用户都是从那里的链接拜候过去的等等。

  HTTP-REFERER这个变量已愈来愈不靠得住了,完整便是能够或许捏造出来的东东。

  以下是捏造体例:

  PHP(条件是装了curl):

  代码以下:

  $ch = curl_init();

  curl_setopt ($ch, CURLOPT_URL, "//www.XXX.cn/xxx.asp");

  curl_setopt ($ch, CURLOPT_REFERER, "//www.XXX.cn/");

  curl_exec ($ch);

  curl_close ($ch);

  PHP(不装curl用sock)

  $server = 'www.dc9.cn';

  $host = 'www.dc9.cn';

  $target = '/xxx.asp';

  $referer = '//www.XXX.cn/'; // Referer

  $port = 80;

  $fp = fsockopen($server, $port, $errno, $errstr, 30);

  if (!$fp)

  {

  echo "$errstr ($errno)<br />n";

  }

  else

  {

  $out = "GET $target HTTP/1.1rn";

  $out .= "Host: $hostrn";

  $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";

  $out .= "Referer: $refererrn";

  $out .= "Connection: Closernrn";

  fwrite($fp, $out);

  while (!feof($fp))

  {

  echo fgets($fp, 128);

  }

  fclose($fp);

  }

  javascript

  xmlHttp.setRequestHeader("Referer", "//URL");//   呵呵~假的`~

  JS不撑持^_^

  道理都是sock机关http头来senddata。其余说话甚么的比方perl也能够或许,

  今朝比拟简略的进攻捏造referer的体例是用考证码(Session)。

  此刻有一些能防盗链软件的贸易公司比方UUDOG,linkgate,VirtualWall甚么的,都是开辟的利用于IIS下面的dll。

  有的是接纳cookies考证、线程节制,有的是能随机天生文件名而后做URL重写。有的体例能简直到达不错的结果.

  不过道高一尺,魔高一丈,这些虫篆之技终归是有破解体例的。

  普通的便是如许的了,可是办事器就不好完成捏造,只能制作未几的数据了,若是能够或许完成拜候网页就能够或许捏造,那就能够或许完成了真实的捏造,完成天然IP散布。


【操纵php捏造referer的体例】相干文章:

PHP顶用CURL捏造IP来历的体例06-26

php操纵sessioncookie变量的体例06-09

PHP中把戏体例的操纵体例10-15

PHP中trait的操纵体例08-20

PHP autoload函数的操纵体例10-22

PHP操纵中数据库操纵体例05-21

php中iconv函数操纵体例08-23

PHP建立和操纵sessioncookie变量的体例08-23

PHP校验ISBN码函数的操纵体例10-25

操纵捏造的驾驶证怎样惩罚09-21