网站图片简单防盗链 时间: 2018-01-23 03:08 分类: 服务器 今天无意间想到之前网站流量被占用访问变慢是不是和图片被盗链有关,于是直接去图片服务器看日志: > \# tail -500 access.log 果然,通过结果看到有些 `referer` 来路不是自己网站的,于是打开那货的网址,发现数据也是部分采集了我的网站,以及一些特殊接口也是调用我站的,难怪昨天询问服务商为什么把我的机器限速了,服务商发过来流量监控图出口带宽速度连续 24 小时超过了 10Mb/s 触发了 Qos 限速。 在这里暂且不讨论盗用接口的问题了,等白天弄完服务器端与前端 JS 加密后再专门记录下处理接口被盗用的问题。下面对图片进行防盗链配置: ```nginx location / { #image_filter resize $2 -; #image_filter_jpeg_quality 80; #image_filter_buffer 3M; valid_referers none blocked yourdomain.com *.yourdomain.com *.baidu.com *.google.com *.so.com *.sogou.com server_names ~\.google\. ~\.baidu\. ~\.sogou\.; if ($invalid_referer) { return 403; } try_files $uri /img/nocoverpic.png; } ``` 关键配置在 `valid_referers` 那行,表示对 `referer` 来路不是列表上的网站进行拦截,下面的 if 判断,非法的 `referer` 来路全部返回 403 禁止状态,当然了你也可以 `rewrite` 返回一张防盗链的图片(一般是带上自己的域名,说当前网站盗链),起到一点推广的作用。 通过以上配置,重启 nginx(Ubuntu 环境): > \# nginx -s reload 再次在盗链网站按 `Ctrl` + `F5` 强制刷新(防止浏览器加载缓存图片),通过开发者工具看到盗用的图片返回状态全部是 403,到此,配置已经生效了。 PS:做网站真的好难,前期不懂如何推广,后期有点流量还要各种 *防火防盗* 的,不过,网站的安全性属实是一个值得让人注意的地方,希望能够借此积累服务器维护相关经验。 标签: 防盗链