盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
一.使用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.访问(不能下载)
6.获取md5值
vim ../../html/get.php
<?php
$select ="12345";
$m=md5($select."客户端IP");
echo $m;
echo "\n";
?>