首页 >后端开发 >php教程 >php的http协议视频资源的推荐

php的http协议视频资源的推荐

黄舟
黄舟原创
2017-08-30 14:00:401497浏览

《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