场景:
当图片大量被其它网站链接,这是非常消耗流量的。
原理:
根据referers头来判断,如果是从自己网站上访问的,将显示。
但referers很容易就可以伪造,并且如果是爬虫来下载图片,也无法防御,因为爬虫是从网站路径下载的。
在server板块中添加一个location
所有来自百度,谷歌,tupian.com
的访问将正常。而来自别的网站链接过来的,将显示一个403
,也可以重定向到别的页面。
location ~*\.(gif|jpg|png|swf|flv)$ { valid_referers none blocked *.tupian.com server_names ~\.google\. ~\.baidu\.; if ($invalid_referer) { return 403; #rewrite ^/ http://www.baidu.com; } }