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,相當於節省了帶寬成本。第一種轉到另外一個指引圖片,利於指引用戶到正確地址訪問,代價是多了圖片的流量帶寬成本。

我的規勸圖片示例:

invalid referer image

圖片是用 inkscape 畫的,指引非常友好,讓迷途小書童都來我原站交流學習 😀 供讀者參考。更改 Caddyfile 後,記得 reload caddy 服務。

2. 確認結果

清理瀏覽器本地緩存,開啓無痕模式,去防盜鏈網站查看結果。

invalid referer example

可見這種處理方式,對簡單複製粘貼行爲,還是有點作用的。如果後續發現還有很多繞過這種簡單限制的,會考慮添加水印。

最後修改於: Wednesday, August 30, 2023

相關文章:

翻譯: