防盗链的含义:网站内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。
这样的话,我们会看到每天访问量很大,占用很多不必要的带宽,浪费资源,所以我们需要做一些限制。
防盗链其实就是采用服务器端编程,通过url过滤技术实现的防止盗链的软件。
比如http://chinaapp.wugk2.com/download/keepalived.conf 这个下载地址,如果没有装防盗链,别人就能轻而易举的在他的网站上引用这个地址。
防盗链的定义此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的
小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。
Nginx server+防盗链配置如下:
server {
listen 80;
server_name localhost www.wugk2.com;
location / {
root html/b;
index index.html index.htm;
}
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked *.wugk2.com;
root html/b;
if ($invalid_referer) {
#rewrite ^/ http://www.wugk2.com/403.html;
return 403;
}
}
}
第一行:gif|jpg|png|swf|flv表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行:wugk2.com 表示对wugk2.com这个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到错误页面,当然直接返回403也是可以。
或者如下设置也可以:
location ~* \.(gif|jpg|png|swf|flv)$
if ($host !=’*.wugk2.com’) {
return 403;
}
防盗链测试:
找一台测试机器,新建如下html页面,代码如下:
<html>
<h1>TEST Nginx PNG</h1>
<img src="http://www.wugk2.com/test.png">
</html>
然后在本地配置hosts 指向182.92.188.163 www.wugk2.com 即可。
然后访问如下图即代表Nginx防盗链配置成功: