分享

Http协议之refer 防盗链

 小马哥技术屋 2017-09-25
 
 

当我们在网页里引用站外图片时,常会出现这样的情况.

问题 1:

服务器怎么知道,这个图片的引用是在站外被引用的呢?

还有在网站的统计结果,统计用户从何而来。

问题2

    统计时,是如何得知用户从哪里来到网站的?

 
 

 

Http协议中,头信息里,有一个重要的选项:Referer

Referer:代表网页的来源,即上一页的地址。

如果是直接在浏览器输入地址,回来尽力啊,则没有referer头。

这也就是说,为什么服务器知道我们的图片是从哪里引用的,也知道我们的客户从那个网站链接点击进来的。

问题3

   具体是如何封杀的站外链接?或者说如何配置apache服务器,用于图片防盗链?

原理:

   web服务器层面,根据http协议的referer头信息,来判断。

如果来自站外,则统一重写到一个很小的防盗链提醒图片上去。

具体步骤:

   1 打开apache重写模块  mod_rewrite   

         打开httpd.conf文件

 

去掉前面的#号,并重启apache

2 在需要防盗的网站或目录,写.htaccess文件,并制定防盗链规则。

   1) 新建一个.htaccess文件。

   2) 重写规则:

那种情况重写:

  jpeg/jpg/gif/png图片时重写,并且referer头与localhost不匹配时重写。

   3)  怎么重写?

      统一rewirte 到某防盗链

RewriteEngine On

Rewrite Base

RewriteCode  %{REQUEST_FILENAME} .*\.(jpg|jpeg|gif|png)  [NC]  //NC不区分大小写

RewriteCode   %{HTTP_REFERER}  !localhost   [NC]   //NC不区分大小写   如果不是本站就重写。

RewriteRule   .*  http://www./static   //图片网址

如何指定?

自然是分析referer信息,如果不是来自本站

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多