国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php HTTP_REFERER函數的使用用法

2024-09-04 11:48:51
字體:
來源:轉載
供稿:網友

利用php的http_referer函數來判斷用戶的來路,這是簡單了,實例代碼如下:

  1. <?php 
  2.    if (isset($_SERVER['HTTP_REFERER'])) { 
  3.      print "The page you were on previously was {$_SERVER['HTTP_REFERER']}<br />"
  4.    } else { 
  5.      print "You didn't click any links to get here<br />"
  6.       } 
  7.     ?> 
  8. <a href="refer.php">Click me!</a> 

下面我們讓用戶不知道我們的來路處理,實例代碼如下:

  1. <?php 
  2. $host = "www.survivalescaperooms.com"
  3. $referer = "http://".$host
  4. $fp = fsockopen ($host, 80, $errno$errstr, 30); 
  5. if (!$fp){ 
  6.         echo "$errstr ($errno)<br>;n"
  7. }else
  8. $request = " 
  9. GET / HTTP/1.1 
  10. Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */"."
  11. Referer: http://$host 
  12. Accept-Language: zh-cn 
  13. Accept-Encoding: gzip, deflate 
  14. User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 
  15. Host: $host 
  16. Connection: Close" 
  17. ."rnrn"
  18.  
  19.  
  20. fputs ($fp"$request"); 
  21. while (!feof($fp)) 
  22.    $res[] = fgets($fp,1024); 
  23. $html = join("",$res); 
  24. fclose ($fp); 
  25. $fp = file_put_contents("123cha.html",$html); 
  26. echo "done";//開源代碼Vevb.com 

這不就行了?

不過很奇怪的是,www.survivalescaperooms.com 的頁面抓下來是亂碼(除了http頭),這是為什么?難道是因為用了gzip之類壓縮?

  1. <?php 
  2. $host = "www.survivalescaperooms.com"
  3. $html = file_get_contents("http://".$host); 
  4. $fp = file_put_contents("hao123.html",$html); 
  5. echo "done"
  6. ?>; 

但這樣抓的就沒問題,再來分析開始抓的http頭:

HTTP/1.1 200 OK Date: Wed, 31 Aug 2005 00:59:36 GMT Server: Apache/1.3.27 Cache-Control: max-age=1296000 Expires: Thu, 15 Sep 2005 00:59:36 GMT Last-Modified: Mon, 29 Aug 2005 13:56:00 GMT Accept-Ranges: bytes Connection: close Content-Type: text/html Content-Encoding: gzip Content-Length: 14567

果然有這句,Content-Encoding:gzip ,原來壓縮了的,長度14567字節了,用第二種方法抓,原來沒壓縮的html是71143字節,原來file_get_contents還可以自動解壓縮.

php實例二,代碼如下:

  1. <?php 
  2. $host = '127.0.0.1'
  3. $target = '/2.php'
  4. $referer = 'http://www.survivalescaperooms.com'; //偽造HTTP_REFERER地址 
  5. $fp = fsockopen($host, 80, $errno$errstr, 30); 
  6. if (!$fp){ 
  7. echo "$errstr($errno)<br />n"
  8. }  
  9. else
  10. $out = " 
  11. GET $target HTTP/1.1 
  12. Host: $host 
  13. Referer: $referer 
  14. Connection: Closernrn"; 
  15. fwrite($fp$out); 
  16. while (!feof($fp)){ 
  17. echo fgets($fp, 1024); 
  18. fclose($fp); 
  19. ?> 

另一個2.php文件很簡單,只是寫上一行讀取當前的HTTP_REFERER服務器值的代碼即可,如下:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建平县| 鄂托克前旗| 正阳县| 曲松县| 巫溪县| 石泉县| 太白县| 华池县| 华容县| 通许县| 巴里| 建平县| 弋阳县| 彭水| 桦南县| 乌恰县| 辽源市| 留坝县| 华阴市| 台中市| 河间市| 黔南| 棋牌| 承德县| 开远市| 桐柏县| 濉溪县| 宁国市| 喀喇沁旗| 绍兴县| 泸水县| 溧阳市| 翁源县| 屯门区| 乌鲁木齐市| 红安县| 民县| 中超| 兴文县| 滨州市| 清徐县|