首頁  >  文章  >  後端開發  >  php的http協定影片資源的推薦

php的http協定影片資源的推薦

黄舟
黄舟原創
2017-08-30 14:00:401471瀏覽

《PHP的HTTP協議視訊教學》將帶領大家學習PHP中的HTTP協議,掌握http交互請求,例如post、和get請求,並用程式碼方式實現常見的post、get請求,以及防盜鏈、反向Ajax等高階應用。

php的http協定影片資源的推薦

課程播放網址:http://www.php.cn/course/411.html

該老師講課風格:

教師講課生動形象,機智詼諧,妙語連珠,動人心弦。一個生動形象的比喻,猶如畫龍點睛,給學生開啟智慧之門;一種恰如其分的幽默,引來學生會心的微笑,如飲一杯甘醇的美酒,給人以回味和留戀;哲人的警句、文化的箴言不時穿插於講述中間,給人思考和警醒。

本影片中較為困難是http防盜鏈了:

使用HTTP協定。利用referer做防盜鏈(不需要用PHP編寫,而是在伺服器層面控制就OK了)
我們在網頁裡訪問站外的圖片的時候,在圖片本站是可以看得,在外頭就不能看了
因為header訊息中的referer元素。
還有是做統計的時候,
我們能夠統計出來使用者是從哪個地方,什麼時間造訪網站的。例如騰訊分析網站
統計的時候是靠什麼知道用戶從什麼地方去的網站


在HTTP協定中 頭資訊中有一個很重要的選項referer
referer 表示的是網頁的來源以及上一頁的地址
如果直接在瀏覽器輸入地址,進入網站,則沒有referer頭資訊


所以,伺服器可根據referer來知道使用者從哪個網站進來的和圖片是從哪個網站進來的

利用referer頭資訊來設定防盜鏈的具體操作步驟如下:

/** 
如何配置apache服务器。用于图片防盗链(使用url重写) 
     
    在web服务器层面,我们可以在http协议的referer头信息来判断, 
                        如果来自站外,则统一重写到一个很小的防盗链提醒图片上去 
步骤: 
    1.打开 apache 重写模块 mod_rewrite     
        (D:\wamp\bin\apache\apache2.4.9\conf)    
        #LoadModule rewrite_module modules/mod_rewrite.so                
            把#去掉,重启apache 
    2.在需要防盗的网站或者目录下,写 .htaccess 文件(windows下不能直接创建,可以另存) 
            并指定防盗链规则 
                分析referer信息,如果不是来自本站,则重写 
**/  
重写规则 .htaccess 文件  
 1.哪种情况重写规则  
    是jpeg/gif/png图片的时候  
    是referer头与localhost不匹配的时候  
  
 2.怎么重写  
    统一 rewrite 到某个防盗链图片上  
    RewriteEngine On  
      
    //只是在改页面下生效  
    Rewrite Base /HTTPxieyi/day1  
    //会对以下格式的文件进行重写规则  
    RewriteCond %{REQUEST_FILENAME} .*\.(jpg|jpeg|gif|png) [NC]  
      
    //如果不是来自localhost的用户,会重写  
    RewriteCond %{HTTP_REFERER} !localhost [NC]  
      
    //会重写到自学it网的logo上     
    RewriteRule .* http://www.zixue.it/static/image/common/zixuelogo.png

html的具體程式碼如下

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>图片的防盗链</title>  
</head>  
<body>  
    <p>  
        <img src="http://imgsrc.baidu.com/forum/w%3D580%3B/sign=5547962a02d162d985ee621421e4a8ec/0d338744ebf81a4c06403427df2a6059242da6ea.jpg" alt="">  
        <img src="./bb.jpg" alt="">  
        <img src="./aa.jpg" alt="">  
    </p>  
      
</body>  
</html>

反防盜鏈的具體程式碼如下:

<?php   
/** 
反防盗链 
****/  
  
  
require(&#39;./07.class.php&#39;);  
  
$http = new Http(&#39;http://localhost/HTTPxieyi/day1/bb.jpg&#39;);  
  
//如果没有加以下这句话,就会显示盗链  
//加上referer就会告诉浏览器,我是来自localhost的,不是来自其他网站的,你不用防我  
$http->setHeader(&#39;Referer: http://localhost&#39;);  
$res = $http->get();  
      
    //aaa.显示的倒链  
//file_put_contents(&#39;./aaa.jpg&#39;,substr(strstr($res,"\r\n\r\n"),4));  
file_put_contents(&#39;./bbb.jpg&#39;,substr(strstr($res,"\r\n\r\n"),4));  
  
//应该在判断路径或者response的mime头信息,确定图片的类型

以上是php的http協定影片資源的推薦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn