docs: 说明封禁响应的图片体与替换方式
This commit is contained in:
@@ -110,6 +110,22 @@ honeypot_cred_dir = data/honeypot-creds
|
||||
|
||||
纯探测也不会被刷爆:元数据落库按「每 IP 每分钟一条」采样,凭据则是「有就存」——那才是要保的东西。
|
||||
|
||||
### 被封之后会看到什么
|
||||
|
||||
状态码 `403`,body 是一张 256×256 的 webp(约 8.6 KB,画面写着 403 Forbidden),不再是那行 13 字节的明文:
|
||||
|
||||
```
|
||||
$ curl -si https://你的站点/anything | head -4
|
||||
HTTP/2 403
|
||||
content-type: image/webp
|
||||
content-length: 8608
|
||||
cache-control: no-store, no-cache, must-revalidate
|
||||
```
|
||||
|
||||
这样做有两个目的:爆破脚本常靠读响应体里的 `403 Forbidden` 确认自己已被拦,换掉 body 让这类判断失效;人肉访问(尤其是被共享出口连累的误封)时,看到一张明确的图比白屏好判断。
|
||||
|
||||
图片用 `go:embed` 编进二进制(`internal/route/assets/403.webp`),不占任何可公开访问的 URL。想换成自己的图:覆盖同目录文件后重新编译、重启即可。注意体积——被封的来源会反复重试,8.6 KB 是刻意压过的(原图别直接塞几百 KB 的)。
|
||||
|
||||
### 封的是一把「键」,不是一个人
|
||||
|
||||
`autoban` 的表就是内存里的 `map[键]到期时间`,键由 `shared.LimitKey` 生成:
|
||||
|
||||
Reference in New Issue
Block a user