Visser Labs – Wtyczki WooCommerce

Blokowanie adresu IP w WooCommerce za pomocą Checkout Guard

Blokowanie adresu IP w WooCommerce za pomocą Checkout Guard

Checkout Guard pozwala teraz blokować adres IP w WooCommerce. Dodaj adres IP do zablokowanego wpisu, a zamówienie zostanie zatrzymane przy kasie, nawet gdy kupujący zmieni swoje imię i nazwisko oraz adres e-mail. Zamyka to najłatwiejszą drogę obejścia listy blokad.

Funkcja pojawia się w Checkout Guard 1.0.2. Nie ma nowej strony ustawień ani oddzielnej listy do utrzymania. Adres IP znajduje się na tym samym zablokowanym wpisie, którego już używasz dla nazwisk i adresów e-mail, jako jedno dodatkowe pole, które możesz wypełnić.

Spis treści

Dlaczego lista blokad nazwisk i adresów e-mail była niewystarczająca

Blokowanie na podstawie nazwiska i adresu e-mail działa do momentu, gdy ktoś zauważy, że jest zablokowany.

Osoba, która chce wrócić do Twojej kasy, ma dwie bardzo tanie opcje. Może wpisać inne nazwisko. Może założyć darmową skrzynkę pocztową i użyć innego adresu. Żadna z tych czynności nie zajmuje więcej niż minutę, a obie pokonują listę blokad, która zna tylko to, kim się osoba podała.

To jest luka. Do tej wersji Checkout Guard porównywał imię i nazwisko do faktury oraz adres e-mail do faktury i nic więcej. Ktoś składający fałszywe zamówienia z tego samego laptopa przy tym samym połączeniu wyglądał jak zupełnie nowy klient za każdym razem, gdy zmieniał te trzy pola.

Adres IP jest trudniejszy do zmiany. Nie jest doskonały i żaden pojedynczy sygnał nie jest, ale opisuje połączenie, a nie historię wpisaną w formularz. W przypadku powtarzającego się nadużycia ze strony jednej osoby lub jednego urządzenia jest to zazwyczaj najbardziej stabilny identyfikator, jaki posiadasz. Dlatego możliwość blokowania adresu IP w WooCommerce ma znaczenie.

Jak zablokować adres IP w WooCommerce

Wpis na Twojej liście blokad może teraz zawierać adres IP obok pól imienia i nazwiska oraz adresu e-mail. Nic w istniejących polach się nie zmieniło.

Pasująca reguła to OR między typami pól. Zablokowane wpis zatrzymuje zamówienie, gdy dowolne wypełnione pole na nim pasuje do klienta: oba imiona pasują, lub adres e-mail pasuje, lub adres IP pasuje. Pola, które pozostawisz puste, są ignorowane, więc reguła z samym adresem IP jest w pełni poprawna i blokuje wyłącznie na podstawie połączenia.

Ostatnia część jest warta zastanowienia, ponieważ zmienia sposób, w jaki możesz korzystać z listy. Przed tym wydaniem każdy wpis wymagał imienia lub adresu e-mail. Teraz możesz dodać adres IP bez przypisanego imienia i adresu e-mail. Tego właśnie chcesz, gdy wiesz, że połączenie jest problemem, ale tożsamość z nim związana ciągle się zmienia.

Puste IP klienta nigdy niczego nie dopasowuje. Jeśli Checkout Guard nie może uzyskać adresu dla kupującego, Twoje reguły IP po prostu nie mają zastosowania do tego zamówienia. Twoje reguły dotyczące imienia i adresu e-mail działają normalnie.

Skąd Checkout Guard pobiera adres IP klienta

Odczytanie adresu IP odwiedzającego brzmi prosto i takie nie jest, ponieważ większość sklepów znajduje się za czymś.

CDN, serwer proxy lub równoważnik obciążenia znajdują się między kupującym a WordPress. Odczytaj adres połączenia naiwnie, a otrzymasz adres tej warstwy pośredniej, który jest taki sam dla każdego klienta. Zablokuj go, a zablokujesz cały swój sklep.

Checkout Guard unika tego, pytając WooCommerce, zamiast odczytywać połączenie bezpośrednio. Wtyczka uzyskuje adres kupującego za pomocą własnego pomocnika geolokalizacji WooCommerce, który już rozumie powszechnie przekazywane nagłówki, które ustawiają serwery proxy i CDN. Jeśli Twój sklep działa za Cloudflare, adres, który porównuje Checkout Guard, to adres kupującego, a nie Cloudflare.

Adres jest rozwiązywany raz, w pojedynczej metodzie, która decyduje, czy zablokować klienta. Oba Twoje procesy płatności przechodzą przez tę metodę, więc klasyczny proces płatności za pomocą krótkiego kodu i proces płatności oparty na Store API dopasowują się do dokładnie tej samej wartości. Nie ma ścieżki, w której blokowanie IP działa w jednym procesie płatności i po cichu nic nie robi w drugim.

Dodawanie pierwszej reguły IP

Aby zablokować adres IP w WooCommerce, otwórz okno dialogowe, którego już używasz. Ma ono jedno dodatkowe pole.

  1. Przejdź do WooCommerce → Checkout Guard i otwórz zakładkę Zablokowane wpisy.
  2. Dodaj wpis lub edytuj istniejący.
  3. Wpisz adres w pole Adres IP. Okno dialogowe sprawdza wartość i odmawia zapisania nieprawidłowej.
  4. Pozostaw pola imienia i adresu e-mail puste, jeśli chcesz zablokować tylko połączenie.
  5. Zapisz wpis.
Blokowanie adresu IP w WooCommerce: Okno dialogowe dodawania zablokowanego wpisu w Checkout Guard pokazujące pole Adres IP, jego akceptowane formaty i przypomnienie o prywatności dotyczące adresów IP jako danych osobowych
Pole Adres IP znajduje się w oknie dialogowym, którego już używasz, z przypomnieniem o prywatności pod nim.

Tabela Zablokowane wpisy zawiera teraz kolumnę Adres IP. Możesz od razu zobaczyć, które z Twoich reguł blokują na podstawie połączenia, a które na podstawie tożsamości.

Tabela zablokowanych wpisów Checkout Guard pokazująca kolumnę Adres IP z regułą blokującą tylko na podstawie adresu IP, z pustymi komórkami nazwy i adresu e-mail
Reguła tylko dla adresu IP. Imię i adres e-mail są puste, a reguła nadal blokuje.

Egzekwowanie nie wymaga konfiguracji. Po zapisaniu wpisu, pasujący kupujący zobaczy komunikat ustawiony w Twoim ustawieniu Komunikat o odmowie płatności, koszyk zostanie opróżniony i nie zostanie podjęta żadna próba płatności.

Co zauważyliśmy: Reguły IP starzeją się inaczej niż reguły e-mail. Adres e-mail zazwyczaj należy do tej samej osoby przez lata, ale adresy mobilne i domowe są ponownie przydzielane, więc adres, który warto było zablokować w zeszłym roku, może teraz należeć do całkowicie zwyczajnego klienta. Od czasu do czasu przeglądaj swoje reguły IP i sięgaj po regułę e-mail lub nazwę, gdy tylko masz wiarygodną.

Co Checkout Guard akceptuje jako adres IP

Pojedynczy adres IPv4 lub IPv6 jest tym, do czego przeznaczone jest pole, i oba są akceptowane.

Wartości są sprawdzane za pomocą własnego walidatora adresów PHP, udokumentowanego w podręczniku PHP jako filter_var z filtrem FILTER_VALIDATE_IP, a następnie przechowywane w znormalizowanej formie. Puste pole jest w porządku. Pole z czymś, co nie jest prawidłowym adresem, jest odrzucane, zamiast być zapisywane i cicho ignorowane. W ten sposób literówka pojawia się podczas zapisywania reguły, a nie w dniu, w którym nie uda się kogoś zablokować.

Okno dialogowe dodawania wpisu w Checkout Guard odrzucające wartość 999.999.999.999 z błędem proszę wprowadzić prawidłowy adres IP IPv4 lub IPv6 lub wzorzec symboli wieloznacznych
Dialog odrzuca 999.999.999.999, zanim wpis zostanie zapisany.

Działają również wzorce segmentów IPv4 z symbolami wieloznacznymi, takie jak 192.168.1.*, które pojawiły się w tym samym wydaniu 1.0.2 i pozwalają jednej regule objąć cały zakres.

Dwie rzeczy są celowo poza zakresem tego wydania. Notacja CIDR, styl /24 pisania zakresu, nie jest obsługiwana. Blokowanie krajów lub regionów również nie jest częścią tego, ponieważ Checkout Guard dopasowuje adresy, zamiast sprawdzać, gdzie się znajdują.

Adresy IP to dane osobowe, więc traktuj je w ten sposób

Przechowywanie adresu to decyzja dotycząca prywatności, a nie tylko techniczna.

Zgodnie z RODO, adres IP jest identyfikatorem online. Motyw 30 wymienia „adresy protokołu internetowego” bezpośrednio, na liście identyfikatorów, które można połączyć z innymi informacjami, aby zidentyfikować osobę. Umieszczenie go na liście blokowanych oznacza, że przechowujesz dane osobowe dotyczące kogoś.

Jest to całkowicie dozwolone, a blokowanie nadużyć jest normalnym powodem, aby to zrobić. Oznacza to, że adresy na liście blokowanych należą do tej samej rozmowy co pozostałe dane osobowe, które przechowuje Twój sklep. Uwzględnij je w swojej polityce prywatności, przechowuj je przez rozsądny czas i usuń je, gdy powód ich przechowywania minie.

Checkout Guard wyświetla krótkie przypomnienie o prywatności obok pola IP z tego właśnie powodu. Wtyczka nie decyduje za Ciebie o polityce retencji i nie powinna, ale umieszcza monit tam, gdzie faktycznie podejmowana jest decyzja.

Zarządzanie regułami IP z innego systemu

Możesz również zablokować adres IP w WooCommerce za pośrednictwem interfejsu API REST Checkout Guard, co ma znaczenie, jeśli Twoja lista blokowanych jest zasilana przez coś innego niż osoba.

Pole ip_address jest akceptowane i zwracane w punktach końcowych, które tworzą, aktualizują i tworzą wsadowo wpisy, oraz w punkcie końcowym, który je listuje. Możesz filtrować listę według adresu IP, aby znaleźć konkretną regułę. API zawiera również pole notes o długości do 140 znaków, skąd pochodzą treści kolumny Uwagi w tabeli Zablokowane wpisy.

Powtarzające się tworzenie zachowuje się sensownie. Wpis zawierający tylko adres IP jest identyfikowany przez ten adres IP, więc wysłanie tego samego adresu dwukrotnie aktualizuje regułę w miejscu zamiast pozostawiać duplikaty. Nieprawidłowy adres jest odrzucany z kodem 400 przy pojedynczym tworzeniu lub aktualizacji. W przypadku wsadowego przetwarzania jest pomijany i liczony w odpowiedzi, zamiast powodować niepowodzenie całego żądania.

Istnieje również punkt końcowy, który odpowiada, czy dany klient zostałby zablokowany, i akceptuje adres IP, jak każde inne pole. Uruchamia ten sam kod dopasowania, co rzeczywiste płatności, więc odpowiedź, którą daje, nie może odbiegać od tego, co faktycznie dzieje się z prawdziwym kupującym.

Wnioski

Możliwość blokowania adresu IP w WooCommerce zamyka lukę, która sprawiała, że lista blokowanych nazw i adresów e-mail była łatwa do obejścia. Jedno pole, w istniejącym wpisie, a reguła teraz opisuje połączenie, a nie to, co kupujący wpisał w formularzu.

Jeśli dopiero zaczynasz z Checkout Guard, nasza wprowadzenie do wtyczki omawia podstawy tworzenia listy blokowanych. Nasz przewodnik po blokowaniu według nazwy lub adresu e-mail obejmuje pola, na których opiera się to wydanie. W szerszym kontekście, nasz przewodnik po zatrzymywaniu spamu w WooCommerce umieszcza blokowanie w kontekście innych rzeczy, które warto zrobić.

Możesz zablokować adres IP w WooCommerce już dziś za pomocą Checkout Guard 1.0.2.

Często zadawane pytania

Czy mogę zablokować adres IP w WooCommerce?

Tak. Możesz zablokować adres IP w WooCommerce za pomocą Checkout Guard 1.0.2, który dodaje pole Adres IP do każdego zablokowanego wpisu. Reguła może wtedy zatrzymać zamówienie na podstawie połączenia kupującego, a nie jego nazwy rozliczeniowej lub adresu e-mail. Wpis zawierający tylko adres IP jest prawidłowy.

Czy blokowanie adresów IP działa za Cloudflare lub proxy?

Tak. Checkout Guard rozpoznaje adres kupującego za pomocą pomocnika geolokalizacji WooCommerce, który odczytuje typowe nagłówki przekazywane przez CDN lub serwer proxy. Porównywany adres to adres kupującego, a nie Twojego proxy.

Czy to działa zarówno w nowym, jak i w klasycznym procesie płatności?

Tak. Oba procesy płatności przechodzą przez tę samą metodę, która rozpoznaje adres IP i decyduje, czy zablokować. Reguła zachowuje się zatem identycznie w klasycznym procesie płatności z użyciem krótkiego kodu i w nowym procesie płatności z użyciem Store API.

Czy mogę zablokować zakres adresów IP?

Możesz użyć wzorca segmentu IPv4 z symbolem wieloznacznym, takiego jak 192.168.1.*, aby objąć zakres. Notacja CIDR, taka jak /24, nie jest obsługiwana w tym wydaniu, podobnie jak blokowanie według kraju lub regionu.

Co się stanie, jeśli wpiszę nieprawidłowy adres IP?

Reguła jest odrzucana zamiast zapisywana. Okno dialogowe administratora odmawia jej zapisania, a interfejs REST API zwraca kod 400 dla nieprawidłowego adresu przy pojedynczym tworzeniu lub aktualizacji. Przy wsadowym tworzeniu błędny element jest pomijany i liczony w odpowiedzi.

Czy moje istniejące reguły dotyczące nazwy i adresu e-mail nadal działają?

Tak. Nic w istniejących polach się nie zmieniło. Wpis blokuje zamówienie, gdy pasuje dowolne wypełnione pole, więc dodanie obsługi adresów IP nie zmienia sposobu działania Twoich bieżących reguł dotyczących nazwy i adresu e-mail.

awatar autora
Gracielle Hernandez Kierownik Marketingu

Popularne artykuły

Udostępnij artykuł

Dodaj komentarz

Cieszymy się, że zdecydowałeś się zostawić komentarz. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką prywatności, a wszystkie linki są nofollow. NIE używaj słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.

Zasoby i pomoc