Web资源防盗链处理

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

防盗链的工作原理

  • 通过Referer或者签名,网站可以检测目标网页访问来源网页,如过是资源文件,则可以跟踪到显示他的网页地址,吐过来源不是本站即进行阻止或者返回或者返回指定页面

Referer方法防盗链

  • Nginx 模块ngx_http_referer_module用来阻止非法请求
  • Nginx指令valid_referers,全局变量$invalid_referer
  • varlid_referers none(来源) | blocked(代理) | server_names(信任地址) | string...

    • none:Referer来源头部为空的情况
    • blocked:referer来源头部不为空,但是里面的值被代理或者防火墙删除了,这些都不以http://或者https://开头
    • server_names:referer来源头部包含当前的server_names
      防盗链

加密签名防盗链

  • 使用第三方模块HttpAccessKeyModulue实现Nginx防盗链
  • accesskey on|off 模块开关
  • accesskey_hashmethod md5 | sha-1 签名加密方式
  • accesskey_arg GET参数名称
  • accesskey_signatrue 加密规则
    加密规则