nginx:防盗链

防盗链:

举个例子:有时候我们从一个网站,比如腾讯,转载了一篇文章到自己的博客或空间,发现一些图片显示不了,这就是防盗链在起作用。图片是放在腾讯的服务器上的,腾讯拒绝其它网站的页面访问该资源。

一般情况下,当我们浏览一个网页时,并不是一次请求就会把整个页面的内容传到本地浏览器,尤其是当这个页面带有图片或者其它资源。第一次请求会传回该页面的HTML文本,浏览器解析该文本发现还有图片,会发送第二次请求,请求获得图片。盗链问题是:如果一个网站没有页面中所说的资源,它就会把这个图片链接到别的网站,这样没有任何资源的网站利用了别的网站的资源来展示给浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,这样显然,对于那个被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担

==============================================

location~*.(gif|jpg|png|swf|flv)${

valid_referersnoneblocked*.xxx.comwww.abc.com;

if($invalid_referer){

return403;

}

}

valid_referersnoneblocked,其中none表示空的来路,也就是直接访问,比如直接在浏览器打开一个文件,blocked表示被防火墙标记过的来路,*.xxx.com表示所有子域名

==============================================

nginx针对文件目录的防盗链配置方法:

location/img/{

root/data/img/;

valid_referersnoneblocked*.xxx.comwww.abc.com;

if($invalid_referer){

rewrite^/http://www.xxx.com/error.gif;

}

}

==============================================

NginxHttpAccessKeyModule实现防盗链

相关推荐