Gdy ochrona hostingu blokuje nasz serwer

Dlaczego antybot lub firewall na hostingu psuje weryfikację klienta i walidację treści oraz jak przepuścić nasz serwer.

Wiele hostingów stawia przed stroną warstwę ochronną. Obserwuje ona przychodzące połączenia i gdy tylko któreś wyda jej się podejrzane, odpowiada captchą, testem JavaScript albo zwykłym 403 zamiast stroną. Odwiedzający raz rozwiąże captchę i więcej o niej nie pomyśli. Nasz serwer tak nie potrafi: nie wykonuje skryptów, nie przechowuje ciasteczek i nie ma komu nacisnąć przycisku – odbiera stronę z testem i bierze ją za odpowiedź twojej strony.

Kłopot w tym, że taka ochrona bywa włączona domyślnie, na pakiecie, którego nikt nie konfigurował – więc strona wyglądająca w przeglądarce całkiem zdrowo może być dla nas zamknięta od pierwszego dnia w sieci.

Co to psuje

Traffman sięga do twojej strony z zewnątrz w trzech sytuacjach, a ochrona tego rodzaju psuje wszystkie trzy:

  • Weryfikacja klienta. Po zapisaniu klucza i sekretu API na twojej stronie nasz serwer wykonuje do niej zwrotne żądanie, aby potwierdzić, że klient rzeczywiście należy do tej strony. Jeśli odpowie captcha, weryfikacja nigdy się nie kończy: klient pozostaje w stanie Oczekuje na potwierdzenie, email z potwierdzeniem nie przychodzi, a wymiana nie może ruszyć – zobacz potwierdzanie klienta.
  • Walidacja treści. Każdy przesłany materiał jest pobierany tak, jak pobrałby go anonimowy odwiedzający. Strona z testem nie jest artykułem, więc materiał zostaje oznaczony jako Niepoprawna – zwykle wszystkie naraz, w ciągu tej samej godziny – zobacz jak działa walidacja.
  • Kliknięcia w twoje treści. Gdy odwiedzający kliknie twój materiał w bloku na stronie innego uczestnika, serwis sprawdza stronę dokładnie w tej chwili. Zablokowane sprawdzenie wysyła odwiedzającego na naszą stronę treść niedostępna, a ruch przepada – zobacz rewalidacja.

Bloki na twojej własnej stronie przez cały ten czas działają, ponieważ te żądania biegną od twojej strony do nas, a nie odwrotnie. To właśnie wprowadza w błąd: strona wygląda na pełnoprawnego uczestnika, podczas gdy jej własne treści po cichu wypadły z wymiany.

Jak to rozpoznać

Objawy mają jeden wspólny kształt – wszystko, co robisz ze swojej strony, się udaje, a wszystko, co dzieje się w stronę twojej witryny, nie:

  • Klient nie wychodzi ze stanu Oczekuje na potwierdzenie, choć klucz i sekret są poprawne.
  • Każdy przesłany materiał otrzymuje stan Niepoprawna, mimo że te same adresy otwierają się normalnie w twojej przeglądarce.
  • Zakładka Healthcheck we wtyczce zgłasza, że połączenia albo adresu treści nie udało się odczytać.

Strona, która otwiera się w prywatnym oknie przeglądarki, a mimo to nie przechodzi naszego sprawdzenia, to typowy obraz: ochrona przepuszcza przeglądarki i zatrzymuje całą resztę.

Gdzie szukać tej opcji

W każdym panelu nazywa się inaczej, więc warto przejrzeć wszystkie nazwy:

  • Bot protection, Anti-bot, Bot Fight Mode
  • Web Application Firewall, WAF, ModSecurity
  • Proactive defence, Attack protection, Anti-DDoS, Under Attack Mode
  • IP reputation, Country blocking, Rate limiting

W panelu hostingu leżą zwykle w sekcji Security (Bezpieczeństwo). Jeśli strona stoi za Cloudflare lub innym CDN-em, jest to druga, niezależna warstwa z własnymi ustawieniami – wyłączenie opcji w panelu hostingu niczego tam nie zmienia. Sam WordPress może trzymać trzecią: wtyczki bezpieczeństwa pokroju Wordfence czy All-In-One Security blokują «złe boty» na własną rękę, od środka strony.

Dwa sposoby, by to naprawić

Przepuścić nasz serwer. Lepsze wyjście: ochrona nadal działa wobec wszystkich innych, a do środka wpuszczany jest tylko nasz adres. Poszukaj w tej samej sekcji pola IP allowlist, Whitelist albo Trusted IPs i dodaj adres podany niżej. Niektóre panele przyjmują też wyjątki według ścieżki – wszystko, o co nasz serwer pyta stronę na WordPressie, leży pod /wp-json/traffman/ – ale sam wyjątek dla adresu w zupełności wystarczy.

Wyłączyć opcję. Dotyczy to całej strony, więc nadaje się tam, gdzie nie ma dokąd dopisać adresu – albo do potwierdzenia diagnozy: wyłącz ochronę, uruchom healthcheck, włącz ją z powrotem. Jeśli sprawdzenie przechodzi tylko przy wyłączonej ochronie, przyczyna jest znaleziona.

Jeśli w twoim panelu nie ma ani jednego, ani drugiego, jest to zwykłe zgłoszenie do wsparcia. Zwykle wystarcza mniej więcej takie sformułowanie: «Proszę o dodanie adresu IP N.N.N.N do białej listy ochrony przed botami i firewalla strony – należy do serwisu, z którym współpracuje moja strona, a na jego żądania odpowiada captcha.»

Adres naszego serwera

Żądania od Traffman do twojej strony przychodzą zawsze z jednego adresu:

142.93.104.213

To jego należy wpisać na białą listę. Jeśli kiedykolwiek się zmieni, ta strona zostanie zaktualizowana, zanim zmiana wejdzie w życie – warto więc sprawdzać tutaj, a nie adres zapisany gdzieś osobno.

Jak sprawdzić, czy pomogło

Na WordPressie wtyczka odpowiada od razu: otwórz Traffman → Settings → Healthcheck i naciśnij oba przyciski – Check the connection from the API server to your client oraz Check content URL availability on your site. Dwa komunikaty o powodzeniu oznaczają, że nasz serwer dociera już do twojej strony. Więcej o tej zakładce w instalacji wtyczki.

Klient pozostawiony w stanie Oczekuje na potwierdzenie nie jest weryfikowany ponownie sam z siebie, więc uruchom weryfikację od nowa: w zakładce API naciśnij Save jeszcze raz z tym samym kluczem i sekretem.

Treści oznaczone już jako nieprawidłowe nie wymagają naciskania czegokolwiek. Te materiały zostają w cyklu powtórnych sprawdzeń i po pierwszym udanym stają się znów prawidłowe, choć materiał zepsuty od dawna sprawdzany jest rzadko – zobacz rewalidacja. Ponowne zapisanie wpisu w WordPressie przesyła go na nowo i od razu planuje świeże sprawdzenie.

Jeśli twoja strona działa przez własną integrację, a nie przez wtyczkę, te same dwa sprawdzenia dostępne są jako wywołania API – zobacz dokumentację API.

  • English
  • Polski
  • Русский
  • Українська