A-A+

PHP伪造页面referer来源地址几种方法

2019年06月15日 我爱编程 暂无评论

referer是php用来判断页面上级来源页面的一个超级变局变量了,我们可以使用referer来判断是从那个页面进入到此页面了,这样我们可以进行更好的跟踪了,下面我就来给各位朋友整理了几种伪造页面referer来源例子,希望例子能给各位朋友.

file_get_contents方法,代码如下:

$opt=array('http'=>array('header'=>"Referer: $refer"));

$context=stream_context_create($opt);

$file_contents = file_get_contents($url,false, $context);

分析:file_get_contents中stream_context_create就伪造来源的重要参数了,这个什么好说的非常的简单.

CURL方式,代码如下:

  1. $ch = curl_init();
  2. curl_setopt ($ch, CURLOPT_URL, "http://www.kexuesw520.com");
  3. curl_setopt ($ch, CURLOPT_REFERER, "http://www.kexuesw520.com/");
  4. curl_exec ($ch);
  5. curl_close ($ch);

分析:curl伪造来源页面非常的简单这是它的优点了,所以我们只要在页面加上curl_setopt ($ch,CURLOPT_REFERER,"http://www.phpfensi.com/");就可以了.

SOCKET方式,代码如下:

  1. $server = 'www.kexuesw520.com';
  2. $host = 'www.kexuesw520.com';
  3. $target = 'index.php';
  4. $referer = 'http://www.kexuesw520.com/'; // Referer
  5. $port = 80;
  6. $fp = fsockopen($server$port$errno$errstr, 30);
  7. if (!$fp){
  8.   echo "$errstr ($errno)\n";
  9. }else{
  10. $out = "GET $target HTTP/1.1\r\n";
  11. $out .= "Host: $host\r\n";
  12. $out .= "Referer: $referer\r\n";
  13. $out .= "Connection: Close\r\n\r\n";
  14. fwrite($fp$out);
  15. while (!feof($fp)){
  16. echo fgets($fp, 128);
  17. }
  18. fclose($fp);
  19. }

友情提示:三种性能比对fsockopen是最好的,我们再使用如下代码:

  1. <?php
  2. echo "<hr />";
  3. echo $_SERVER["HTTP_REFERER"];
  4. ?>

你会发现获取到的就是我们的www.kexuesw520.com了,当然为造地址可以自行设置.

标签:

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录