Web端防盗链的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010505805/article/details/79683948
盗链概念:   小站盗用大站的图片,音乐,视频,软件等资源
影响:
通过盗链的方法可以减轻自己服务器的负担呢,因为真实的空间和流量均来自别人的服务器
盗链是指在自己的页面上展示一些并不在自己服务器上的内容
获得他人服务器上的组员地址,绕过别人的资源展示页面,直接在自己的页面上向最终客户提供内容展示
防盗链概念
防止别人通过一些技术手段绕过本站资源展示页面,
盗用本站的资源,让绕开本站资源展示页面的资源失效
可以大大减轻服务器以及带宽的压力
①Referer 
Nginx 模块下ngx_http_referer_module 用于阻止来源非法的域名请求
Nginx指令 valid_referer ,全局变量 $valid_referer

栗子:Nginx服务器配置
none referer 为空的时候是可以访问
blocked  代理是可以访问
location~.*\.(gif|jpg|png|flv|swf|rar|zip)$
{
   valid_referers none blocked  网站名 *.网站(ps: www.baidu.com   *.baidu.com )
    if($valid_referer){
#return 403;
         rewrite ^/http:网站/403.jpg
   } 
}
②: 使用加密签名的方式
使用第三方模块 HttpAccessKeyModule 实现Nginx防盗链
accesskey  on|off   模块进行打开
accesskey_hashmethod  md5|sha-1 签名加密
accesskey_arg  GET参数名称
accesskey_signature  加密规则

栗子:Nginx服务器配置
location~.*\.(gif|jpg|png|flv|swf|rar|zip)$
{
  accesskey  on;
  accesskey_hashmethod  md5 ;
  accesskey_arg  "key";
  accesskey_signature  "mypass$remote_addr";   (ps:    $remote_addr 代表客户端ip) 
}
服务端代码
$image ="./one.png?key=".md5('mypass' .$_SERVER['REMOTE_ADDR'])



猜你喜欢

转载自blog.csdn.net/u010505805/article/details/79683948