本文作者:心月

web资源防盗链的工作原理和处理方法

心月IT博客 2019-06-26
摘要:防盗链的目的:防止别人通过一些技术手段绕过本站的资源展示页面,盗用本站的资源,让绕开本站资源展示页面的资源链接失效,可以大大减轻服务器及带宽的压力。

1、什么是防盗链

    盗链是指在自己的页面上展示一些并不在自己服务器上的内容

    获得他人服务器上的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容;

    常见的是小站盗用大站的图片、音乐、视频、软件等资源;

    通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来在别人的服务器;

  防止别人通过一些技术手段绕过本站的资源展示页面,盗用本站的资源,让绕开本站资源展示页面的资源链接失效,可以大大减轻服务器及带宽的压力;


2、防盗链工作原理:

      通过Referer或者签名,网站可以检测目标网页访问的来源页,如果是资源文件,则可以跟踪到显示它的网页地址。

      一旦检测到来源不是本站即进行阻止或者返回指定的页面;

    通过计算签名的方式,判断请求是否合法,如果合法则显示,否则返回错误信息;


3、防盗链的实现方法:


    Referrer:

        Nginx模块 ngx_http_referer_module 用于阻挡来源非法的域名请求

        Nginx指令 valid_referer,全局变量 $invalid_referer

        valid_referers none|blicked|server_names|string...;

          none: "Referer" 来源头部为空的情况

          blocked:"Referer" 来源头部不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头。

          server_names:"Referer" 来源头部包含当前的server_names

Nginx服务器Referrer防盗链的实现

Nginx服务器Referrer防盗链的实现


    加密签名解决盗链:

        使用第三方HttpAccessKeyModule实现Nginx防盗链

        accesskey on|off 模块开关

        accesskey_hashmethod md5|sha-1 签名加密方式

        accesskey_arg GET参数名称

        accesskey_signature 加密规则

Nginx服务器加密签名防盗链的实现

Nginx服务器加密签名防盗链的实现


文章版权及转载声明:

作者:心月 本文地址:http://www.xinyueseo.com/websecurity/283.html发布于 2019-09-07
文章转载或复制请以超链接形式并注明出处心月IT博客

分享到:
赞(

发表评论

快捷输入:

    评论列表 (有 0 条评论,人围观)参与讨论