mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-07 23:19:14 +00:00
docs: require the trusted-proxy switch for the rate-limit source (#43)
User-Visible: no Issue: #43
This commit is contained in:
@@ -43,6 +43,13 @@
|
||||
потому, что цена ошибки здесь — обход частотного лимита сменой одной строки в
|
||||
запросе, и полагаться на умолчания чужого конфига для этого нельзя.
|
||||
|
||||
Заголовок читается только при включённом `HP_RELAY_TRUSTED_PROXY` (умолчание —
|
||||
включён). Со снятым переключателем relay игнорирует заголовок и берёт адрес
|
||||
соединения: это верно для узла, выставленного в интернет напрямую, и **запрещено
|
||||
для узла за прокси** — там все соединения приходят от прокси, и весь публичный
|
||||
эндпоинт делил бы одну корзину лимита на всех. Оба продовых инстанса стоят за
|
||||
Caddy, поэтому у обоих переключатель включён.
|
||||
|
||||
Сообщение и контакт нормализуются и очищаются от управляющих символов, включая
|
||||
маркеры двунаправленного письма: доставка выводит их буквальным текстом без
|
||||
разметки, поэтому подделать вид сообщения нельзя.
|
||||
@@ -196,12 +203,13 @@ sudo -u hprelay cat /var/lib/hp-support-relay/prod/reports/2026-09/hpr-…/repor
|
||||
cd scripts/support-relay && python3 -m unittest discover -s tests -q
|
||||
```
|
||||
|
||||
Тридцать пять проверок: схема, размеры, хеш, идемпотентность, частота,
|
||||
Тридцать шесть проверок: схема, размеры, хеш, идемпотентность, частота,
|
||||
ретеншн, буквальность текста, отсутствие адреса в журналах, невозможность
|
||||
выбрать себе корзину лимита подделкой заголовка, поведение рубильника.
|
||||
Каждая проверялась отрицательным прогоном — тринадцать мутаций рабочего кода
|
||||
Каждая проверялась отрицательным прогоном — четырнадцать мутаций рабочего кода
|
||||
(снять сверку хеша, разрешить лишнюю часть, не чистить управляющие символы,
|
||||
снять лимит, писать адрес в журнал, игнорировать идемпотентность, отключить
|
||||
рубильник, отключить ретеншн, не проверять секции пакета, брать первый элемент
|
||||
`X-Forwarded-For`, подменить `source` в вебхуке, приложить пакет к вебхуку)
|
||||
роняют ровно те проверки, ради которых написаны.
|
||||
`X-Forwarded-For`, подменить `source` в вебхуке, приложить пакет к вебхуку,
|
||||
читать заголовок независимо от переключателя доверия прокси) роняют ровно те
|
||||
проверки, ради которых написаны.
|
||||
|
||||
Reference in New Issue
Block a user