О чём нужно подумать создавая HTTP-прокси для обхода CORS?
Для RSS-читалки нужно сделать такой, чтобы грузить RSS из браузера (local-first).
Авторизация сделать нельзя, чтобы мы не могли сделать, что человек читает.
https://github.com/hplush/slowreader/pull/134
Что уже сделали:
1. Проверяем, что запросы приходят (Origin) из нашего домена
2. Не даём запрашивать внутренние IP-адресы (типа 192.268.x.x), чтобы не смотрели хостинг изнутри
3. Удаляем заголовки кук
4. Позволяем только GET
5. Протокол только https/http
@sitnik_ru
Добавить рейт-лимиты.
Не позволять рекурсивные запросы на сам прокси.
Подумать, как обрабатывать 3xx статусы - если их просто проксировать, они будут редиректить клиента мимо прокси.
Давать понять, что запрос пришел через прокси - что-то вроде x-forwarded-for, плюс возможно ещё какой-то хедер, с контактными название прокси и контактным email - то есть, что-то вроде user-agent, но для самого прокси.
Если для URL нет запрещающих cors (можно проверить head-запросом), то можно вернуть просто редирект на этот url, а не проксировать через себя весь ответ.
@sitnik_ru
Добавить рейт-лимиты.
Не позволять рекурсивные запросы на сам прокси.
Подумать, как обрабатывать 3xx статусы - если их просто проксировать, они будут редиректить клиента мимо прокси.
Давать понять, что запрос пришел через прокси - что-то вроде x-forwarded-for, плюс возможно ещё какой-то хедер, с контактными название прокси и контактным email - то есть, что-то вроде user-agent, но для самого прокси.