zoukankan      html  css  js  c++  java
  • 资源防盗链

    • 盗链是什么? 为什么要防?

    在自己页面上显示一些不是自己服务器的资源图片音频视频cssjs等)
    由于别人盗链你的资源会加重你的服务器负担,所以我们需要防止
    可能会影响统计

    • 防盗链是什么? 有哪几种方式?

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

    1、Referer (易伪造referer,安全性低)
    2、加密签名 (安全性高)
    • 防盗链的工作原理

    通过Referer,服务器可以检测到访问目标资源的来源网站,如果是资源文件,则可以跟踪到显示它的网页地址。一旦检测到来源网站不是本站进行阻止

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

    • Referer实现

    Nginx为例,前提加载ngx_http_referer_module模块

    //指令valid_referers  全局invalid_referer
    location ~* .(gif|jpg|png|webp)$ {
       valid_referers none blocked domain.com *.domain.com ;
       if ($invalid_referer) {
            return 403;
            #rewrite ^/ http://www.domain.com/403.jpg;
       }
    }

    注意:为什么要none呢?因为如果通过浏览器直接访问资源,referer就是为空,所以这种方式不能彻底阻挡住盗链。

    • 加密签名

    Nginx为例,前提加载第三方模块HttpAccessKeyModule实现防盗链

    location ~* .(gif|jpg|png|webp)$ {
        accesskey on;
        accesskey_hashmethod md5;
        accesskey_arg key;
        accesskey_signature "mysrc$remote_addr";
    }




  • 相关阅读:
    js截取字符串区分汉字字母代码
    List 去处自定义重复对象方法
    63. Unique Paths II
    62. Unique Paths
    388. Longest Absolute File Path
    41. First Missing Positive
    140. Word Break II
    139. Word Break
    239. Sliding Window Maximum
    5. Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/fuwentao/p/9529725.html
Copyright © 2011-2022 走看看