当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-26 10:39:57 浏览: 评论:0 

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.phpfensi.com"); 
  3. curl_setopt ($ch, CURLOPT_REFERER, "http://www.phpfensi.com/"); 
  4. curl_exec ($ch); 
  5. curl_close ($ch); 

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

SOCKET方式,代码如下:

  1. $server = 'www.phpfensi.com'
  2. $host = 'www.phpfensi.com'
  3. $target = 'index.php'
  4. $referer = 'http://www.phpfensi.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. fclose($fp); 

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

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

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

Tags: PHP伪造页面 referer来源地址

分享到: