一、盗链介绍
盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
二、Nginx盗链实现
如百度图片网站:
上述Request URL中可以设置白名单,可以让image.baidu.com进行访问。
接下来在自己服务器上进行操作测试:
首先在配置文件中添加内容:
server {
listen 9999;
server_name localhost;
location / {
root /home/dgw/Nginx/bandit_test/;
}
location ~* .*\.(gif|jpg|png)$ {
root /home/dgw/Nginx/bandit_test/img/;
valid_referers none blocked www.dgw.test.cn;
if ($invalid_referer) {
# return 403;
rewrite ^/ http://192.168.124.104:9999/error.png;
break;
}
}
}
注:server_name为域名。域名测试时,需要更改windows本地hosts文件,操作如下图所示。
使用命令检查上述的配置文件是否有错误:
nginx -t
配置文件写完后不需要重启nginx服务,只需要reload加载一下即可:
nginx -s reload
查看nginx存储地址:
<html>
<header>
</header>
<body>
<img src="http://192.168.124.104:9999/ok.jpg"/>
</body>
</html>
反防盗链方案:
<html>
<header>
<meta name="referrer" content="no-referrer" />
</header>
<body>
<img src="http://192.168.124.104:9999/ok.jpg"/>
</body>
</html>
未完待续。。。