Przejdź do treści
Q
QuoteNode

Wiki

GeoIP i geograficzna kontrola dostępu

Jak QuoteNode używa MaxMind GeoIP do kontroli dostępu na poziomie krajów i do śledzenia otwarć ofert.

GeoIP i geograficzna kontrola dostępu

QuoteNode zawiera opcjonalną geograficzną kontrolę dostępu i śledzenie kraju otwarcia oferty z użyciem bazy MaxMind GeoLite2.

Dwa zastosowania GeoIP

1. Kontrola dostępu do aplikacji

Gdy funkcja jest włączona, filtr GeoIP może ograniczyć dostęp do aplikacji tylko do wybranych krajów. Żądania z krajów spoza allowlisty dostają HTTP 403.

To przydaje się organizacjom, które:

  • działają wyłącznie w określonych jurysdykcjach,
  • chcą ograniczyć ekspozycję na zautomatyzowane ataki,
  • muszą spełniać wymagania związane z dostępem lub rezydencją danych.

2. Śledzenie interakcji z ofertą

Gdy klient otworzy publiczny link do oferty, system zapisuje kod kraju ISO razem ze zdarzeniem. Daje to kontekst do analityki ofert, na przykład:

  • oferta została otwarta z Niemiec,
  • wielokrotne otwarcia z różnych krajów mogą oznaczać dalsze przekazanie oferty.

Jak to działa

Baza

Rozpoznanie kraju wykorzystuje lokalną bazę MaxMind GeoLite2-Country w formacie .mmdb. Nie ma tu zewnętrznego API ani połączeń sieciowych przy każdym lookupie.

Baza musi zostać pobrana osobno i zamontowana do kontenera pod odpowiednią ścieżką.

Wykrywanie IP

System identyfikuje adres IP w tej kolejności:

  1. nagłówek X-Real-IP,
  2. pierwszy adres z X-Forwarded-For,
  3. request.getRemoteAddr() jako fallback.

Dlatego poprawna konfiguracja reverse proxy jest ważna dla wiarygodnego rozpoznania kraju.

Wyjątek dla linków publicznych

Endpointy publicznych ofert są zawsze wyłączone z restrykcji geograficznych. Dzięki temu klient nadal może otworzyć ofertę i na nią odpowiedzieć niezależnie od kraju, nawet jeśli sama aplikacja operatora jest geo-restricted.

Konfiguracja

ZmiennaDomyślnieOpis
GEOIP_ENABLEDfalseWłącza albo wyłącza GeoIP
geoip.db-pathŚcieżka do pliku .mmdb MaxMind
geoip.allowed-countriespusteLista krajów ISO oddzielona przecinkami, np. PL,DE,FR

Jeżeli geoip.allowed-countries jest puste, filtr GeoIP działa pasywnie: rozpoznaje kraj do celów trackingowych, ale niczego nie blokuje.

Aspekty prywatności

  • rozpoznanie GeoIP jest stateless,
  • dla trackingowych zdarzeń oferty zapisywany jest tylko kod kraju, a nie sam adres IP,
  • adresy IP w zdarzeniach webowych podlegają osobnej, konfigurowalnej anonimizacji zgodnej z wymaganiami prywatności.

Last reviewed: Recently