Nginx防盗链

      盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

一.使用referer模块防止盗链

server {
   listen 8000;
   server_name 121.10.143.66;
   root html;
   index index.php index.html;

   valid_referers none blocked  域名;     --防止整个域名盗链接
   if ($invalid_referer) {
      return 404;
   }
}

 

二.使用AccessKey模块防止盗链

1.下载nginx第三方软件包

wget http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz

tar xvf Nginx-accesskey-2.0.3.tar.gz

2.必须修改参数

vim nginx-accesskey-2.0.3/config

将HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESSKEY_MODULE"

改为

HTTP_MODULES="$HTTP_MODULES ngx_http_accesskey_module"

3.配置,编译,安装

     ./configure  --prefix=/usr/local/tong/nginx --with-http_stub_status_module --without-http_upstream_ip_hash_module --with-pcre --with-http_addition_module --with-http_geoip_module --add-module=/home/tong/nginx-accesskey-2.0.3
    make

    make install

4.修改nginx参数

server {
   listen 8000;
   server_name 121.10.143.66;
   root html;
   index index.php index.html;

   location /abc {
        accesskey on;
        accesskey_hashmethod md5;
        accesskey_arg "key";
        accesskey_signature "12345$remote_addr";
     }

}

5.访问(不能下载)

Nginx防盗链

6.获取md5值

vim ../../html/get.php

<?php
$select ="12345";
$m=md5($select."客户端IP");
echo $m;
echo "\n";
?>

Nginx防盗链

Nginx防盗链










本文转自 z597011036 51CTO博客,原文链接:http://blog.51cto.com/tongcheng/1427617,如需转载请自行联系原作者
上一篇:如何做到 99% 的搜索请求延迟低于 150 毫秒?LinkedIn 全新消息搜索平台实践


下一篇:16. Linux 文件目录权限