首页 > Web开发 > 详细

php curl伪造referer

时间:2017-09-21 11:55:28      阅读:269      评论:0      收藏:0      [点我收藏+]

 

CURL方式:
 
 
 1 $ch = curl_init();  
 2    
 3 curl_setopt ($ch, CURLOPT_URL, "http://www.yyyy.com");  
 4    
 5 curl_setopt ($ch, CURLOPT_REFERER, "http://www.xxxx.com/");  
 6    
 7 curl_exec ($ch);  
 8    
 9 curl_close ($ch);  
10 
11  

 

 
 
SOCKET方式:
 
 
  
 1 $server = ‘www.yyyy.com‘;  
 2    
 3 $host = ‘www.yyyy.com‘;  
 4    
 5 $target = ‘index.php‘;  
 6    
 7 $referer = ‘http://www.xxxx.com/‘; // Referer  
 8    
 9 $port = 80;  
10    
11 $fp = fsockopen($server, $port, $errno, $errstr, 30);  
12    
13 if (!$fp){  
14    
15   echo "$errstr ($errno)\n";  
16    
17 }else{  
18    
19 $out = "GET $target HTTP/1.1\r\n";  
20    
21 $out .= "Host: $host\r\n";  
22    
23 $out .= "Referer: $referer\r\n";  
24    
25 $out .= "Connection: Close\r\n\r\n";  
26    
27 fwrite($fp, $out);  
28    
29 while (!feof($fp)){  
30    
31 echo fgets($fp, 128);  
32    
33 }  
34    
35 fclose($fp);  
36    
37 }  

 

file_get_contents方法:
 
 
1 $opt=array(‘http‘=>array(‘header‘=>"Referer: $refer"));   
2    
3 $context=stream_context_create($opt);   
4    
5 $file_contents = file_get_contents($url,false, $context);  

 


通过上面的代码,我们就把referer地址伪装为http://www.xxxx.com,你可以写一段代码:
$_SERVER[‘HTTP_REFERER‘];
查看到这个referer地址,就是这么简单,所以referer也不是什么可靠的数据了

php curl伪造referer

原文:http://www.cnblogs.com/wujunbin/p/7567458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!