关于盗链
上图很好的解释了盗链的原理,只要是给人看的图片就不可避免的被人盗用,最气的莫过于还要盗用你的流量,毕竟网页文本并不需要多少带宽,带宽消耗的主要是多媒体文件,所以做好多媒体的防盗链即可。
防盗链的方法
-
轻度过滤,利用referer参数,在nginx中设置
valid_referers none block *.jinzhao.me jinzhao.me;
{:.apacheconf},none和block的设置使得图片 可以单独打开;# Directives to send expires headers and turn off 404 error logging. location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { valid_referers none block *.jinzhao.me jinzhao.me; if ($invalid_referer) { return 403; } access_log off; log_not_found off; expires 180d; }
-
中度过滤,现在前端可以设置不让浏览器带上referer参数,表现为图片的referer_policy设置为none。可恶的是目前大多人似乎都这么干,所以如果盗链压力大可以将上面的block和none去掉,那么非许可域名的请求都会被拒绝,坏处是如果有人分享了你的多媒体地址它是无法单独打开的。
-
重度过滤,其实2已经足够使用了,但是还是无法避免一些iframe这种变态的手法,这时候就要利用nginx的httpaccesskey mould来给站点的请求都加上临时的秘药,这无疑会给服务器增加负担,不推荐使用。