php curl偽造referer


 

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也不是什么可靠的數據了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM