网站地图    收藏   

主页 > php专栏 > php应用 >

PHP伪造页面referer来源地址几种方法 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

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

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

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了,当然为造地址可以自行设置.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论