防盗链的含义是网站内容本身不在自己公司的服务器上,而通过技术手段,直接调用其公司的服务器网站数据,而向最终用户提供此内容。一些小网站盗用高访问量网站的音乐、图片、软件的链接,然后放置在自己的网站中,通过这种方法盗取高访问量网站的空间和流量
网站每天访问量很大,而且占用了很多不必要的带宽,浪费资源,所以必须采取一些限制措施。
防盜链其实就是采用服务器端编程技术,通过URL过滤、主机名等实现的防止盗链的软件
例如http:/www.yunwei2.com/index.html/页面,如果没有配置防盗链,别人就能轻而易举地在其网站上引用该页面,就可以用下面的方式配置防盗链
server {
listen 80;
server_name www.yunwei2.com www.yunwei2.info;
access_log logs/yunwei2.log;
location / {
root html/yunwei2;
index index.html index.htm;
}
location ~ .*.(html|htm|gif|jpeg|jpg|bmp|png|ico|txt|js|css)$
{
valid_referers none bloked yunwei2.com *.yunwei2.com
root html/img;
if($invalid_referers){
return 403;
}
expires 30d;
}
}
Nginx防盗链参数详解如下:
valid_referers:表示可用的 referers设置。
none:表示没有 referers,直接通过浏览器或者其他工具访问,
blocked:表示有 referers,但是被代理服务器或者防火墙隐藏
yunwei2.com:表示通过 yunwei2.com访问的 referers
. yunwei2.com:表示通过. yunwei2.com访问的 referers,表示任意host主机
以下是关于referers的解释
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。
还有一种比较简单配置防盗链的方式
If($host != ‘*.yunwei1.com’){
return 403;
}