Ограничение доступа к веб-сайту по геолокации клиента

Мне нужно ограничить доступ к веб-сайту из-за правил страны. Я знаю, что хостинг-провайдеры или CDN/вебсерверы типа Cloudflare или NGINX могут сделать это за меня и, вероятно, это лучший подход (?), но я думаю, что только если сайт должен масштабироваться, а поскольку у него небольшой ожидаемый трафик, я хотел бы просто реализовать это самостоятельно для начала.

Этот вопрос не о том, как получить IP пользователей или как использовать API геолокации с этим IP. Речь идет о том, как разработать бэкенд, чтобы запретить или предоставить доступ к сайту для клиентов.

  1. Нужно ли мне делать это при каждом запросе к серверу? Если да, то должен ли я просто написать промежуточное ПО, которое отклоняет запрос, если он заблокирован, или поместить эту логику куда-то еще?
  2. Или я могу сделать это один раз и затем просто "запомнить" это каким-то образом для этого клиента (насколько это будет надежно/можно ли этим злоупотреблять?).
  3. Я просто не хочу строить супер глупый дизайн, который повлияет на производительность бэкенда только для такой простой задачи.

    Заранее спасибо.

    Вернуться на верх