惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
T
The Blog of Author Tim Ferriss
H
Help Net Security
博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
博客园 - 聂微东
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
I
InfoQ
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
B
Blog
Engineering at Meta
Engineering at Meta
V
V2EX
Hugging Face - Blog
Hugging Face - Blog

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法
Caddy简单图片防盗链
2023-08-30 · via mephisto.cc

前些天搜索一个关键字的时候,发现其它站某篇帖子和我网站某个文章高度重合,至少有 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,相当于节省了带宽成本。第一种转到另外一个指引图片,利于指引用户到正确地址访问,代价是多了图片的流量带宽成本。

我的规劝图片示例:

invalid referer image

图片是用 inkscape 画的,指引非常友好,让迷途小书童都来我原站交流学习 😀 供读者参考。更改 Caddyfile 后,记得 reload caddy 服务。

2. 确认结果

清理浏览器本地缓存,开启无痕模式,去防盗链网站查看结果。

invalid referer example

可见这种处理方式,对简单复制粘贴行为,还是有点作用的。如果后续发现还有很多绕过这种简单限制的,会考虑添加水印。