Caddy简单图片防盗链
前些天搜索一个关键字的时候,发现其它站某篇帖子和我网站某个文章高度重合,至少有 85%雷同,更为过分的是图片地址也是我站点的,也没有标注来源,完全无视版权申明。
坦白说,这种情况在中国大陆很常见,指望对方改邪归正,恐怕不那么现实。比较简单的解决方式是添加水印或者给图片加上防盗链,加水印很难看,迫不得已不建议这么做,所以图片防盗链是成本最低的处理方式。
1. caddyfile 配置
1 @invalid_referer {
2 file
3 path *.webp *.png
4 not header Referer https://mephisto.cc*
5 }
6
7 rewrite @invalid_referer /images/403.png
8
9 #respond @invalid_referer "Traffic blocked" 403 {
10 # close
11 #}
如上所示,匹配到 webp 和 png 图片,且请求头中的 Referer 不是我的站点开头的,重定向到一个 403.png 图片。参考文章: https://github.com/wolfogre/blog-utterances/issues/30
另外,还有另外一个处理做法 https://github.com/Stevie-Ray/referrer-spam-blocker/blob/master/referral-spam.caddy2,不够简单清晰。
大同小异,第二种直接返回文本 "Traffic blocked" 和状态码 403,相当于节省了带宽成本。第一种转到另外一个指引图片,利于指引用户到正确地址访问,代价是多了图片的流量带宽成本。
我的规劝图片示例:
图片是用 inkscape 画的,指引非常友好,让迷途小书童都来我原站交流学习 😀 供读者参考。更改 Caddyfile 后,记得 reload caddy 服务。
2. 确认结果
清理浏览器本地缓存,开启无痕模式,去防盗链网站查看结果。
可见这种处理方式,对简单复制粘贴行为,还是有点作用的。如果后续发现还有很多绕过这种简单限制的,会考虑添加水印。
最后修改于: Wednesday, August 30, 2023
版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。