自己的图片被别的网站直接引用,用户看的是你的图,流量和带宽却是你付,这就是盗链。小编遇到过,好好的图被外站贴走,带宽被白白吃掉。防盗链就是只让白名单里的网站用你的资源,别的一律挡。这篇讲referer防盗链怎么配。
防住盗链省流量,但线路稳才是根本,这两家海外主机带宽靠谱:野草云(海外服务器)、Zorocloud(云主机)。

浏览器请求图片时会带Referer头,告诉服务器从哪个页面来的。防盗链就是检查这个来源:来自自己网站就放行,来自别站就拒绝。referer为空或来自白名单就通过。原理简单,配置也不难。这是最常用的防盗链方式。

Nginx用valid_referers配防盗链。valid_referers none blocked 你的域名;,放行空referer、带referer的自家域名。valid_referers后面的if判断,不在白名单就return 403。配在location块里,针对图片目录。配完测下,别误伤正常访客。

Apache用.htaccess加RewriteCond。RewriteCond %{HTTP_REFERER} !^$(非空)且!包含你的域名,就RewriteRule图片 403。也能加图片防盗图水印。规则写对,外站引用就失效。Apache配防盗链也方便。

防盗链最怕误伤自己。自己的子域名、CDN、图床域名要加进白名单。手机APP、微信分享的referer可能为空,空referer要放行。搜索引擎图片收录的referer也留意。白名单配全,别把正常访问挡了。

防盗链只挡referer,防不了伪造referer的。重要图片可以加防盗水印或随机文件名。配合CDN的防盗链功能更稳。别因防盗链影响自己的图片加载,配完多测几个来源。流量保护从源头做起,别让带宽白流。

总结:懂referer原理、Nginx用valid_referers或Apache用Rewrite、白名单配全别误伤、配合CDN和水印,网站防盗链就配好了。图片不被盗,流量和带宽才算花在刀刃上。