
Checkout Guard 1.0.2 pozwala zablokować domenę e-mail w WooCommerce za pomocą jednej reguły symbolu wieloznacznego. Pojedynczy wpis, taki jak *@example.com lub 192.168.1.*, zatrzymuje teraz każdy adres w domenie lub każdy adres IP w zakresie. Właściciele sklepów ścigający powtarzające się oszustwa mogą przestać ręcznie utrzymywać listy dokładnych dopasowań.
Zmiana jest niewielka na ekranie i duża w praktyce. Brak nowej strony ustawień, brak nowych pól, brak migracji. Te same cztery pola, których już używasz, akceptują jeden dodatkowy znak, a ten znak zmienia to, co może obejmować pojedyncza reguła. Poniżej omawiamy, co robi gwiazdka i jak zakresy adresów IP różnią się od wzorców e-mail i nazw. Wymieniamy również wartości, których Checkout Guard odmówi zapisać, i jedną rzecz, którą należy sprawdzić przed aktualizacją.
Spis treści
- Blokowanie domeny e-mail w WooCommerce za pomocą jednej reguły
- Co faktycznie robi gwiazdka
- Zakresy adresów IP działają według segmentu, a nie według wzorca
- Wartości, których Checkout Guard odmawia zapisać
- Dodawanie pierwszej reguły symbolu wieloznacznego
- Symbole wieloznaczne przez interfejs API REST
- Jedna rzecz do sprawdzenia przed aktualizacją
- Często zadawane pytania
Blokowanie domeny e-mail w WooCommerce za pomocą jednej reguły
Do tego wydania, każda wartość w regule Checkout Guard była porównywana jako dokładny ciąg znaków. Wielkość liter nie miała znaczenia dla nazw i adresów e-mail, ale nic innego nie było elastyczne. Jeśli dwadzieścia zamówień przyszło z dwudziestu adresów z tej samej tymczasowej domeny, dodawałeś dwadzieścia wpisów. Potem dwadzieścia jeden, gdy pojawił się następny adres. Utrzymanie tej listy aktualnej to żmudna połowa każdego planu zapobiegania fałszywym zamówieniom w WooCommerce.
To jest w porządku, gdy problemem jest jedna osoba. Jest całkowicie nieodpowiednie, gdy problemem jest domena lub blok sieciowy. Tak zazwyczaj wygląda nadużycie, gdy przestaje być pojedynczym zirytowanym klientem i staje się skryptem. Wieloznaczne znaki pozwalają jednej regule opisać cały wzorzec zamiast wyliczać poszczególne przypadki. Możliwość zablokowania domeny e-mail w WooCommerce jednym wpisem sprawia, że jest praktyczne, aby zatrzymać spamowe zamówienia w WooCommerce, gdy ich liczba wzrośnie.
Co faktycznie robi gwiazdka
W polach imię, nazwisko i e-mail, * oznacza zero lub więcej znaków i może pojawić się w dowolnym miejscu wartości:
*@example.comblokuje każdy adres w tej domeniejo*pasuje dojo,johnijohnnysm*thpasuje dosmithismyth*sonpasuje doJacksoniWilson
Dopasowywanie pozostaje niewrażliwe na wielkość liter, dokładnie tak, jak było. Jest również zakotwiczone na obu końcach, co jest szczegółem, który większość ludzi źle rozumie, gdy wyobraża sobie, jak to działa. john* pasuje do johnny, ale nie pasuje do ajohn. Wzorzec musi obejmować całą wartość, a nie tylko jej fragment.
Każdy znak oprócz gwiazdki jest traktowany dosłownie. Kropka w *@example.com to prawdziwa kropka, a nie token wyrażenia regularnego, więc wzorzec nie może przypadkowo dopasować więcej, niż zamierzałeś. Kiedy blokujesz domenę e-mail w WooCommerce w ten sposób, dotyczy to tylko tej domeny.
Nazwy zachowują kontrakt, który zawsze miały. Wpis blokujący na podstawie nazwy wymaga wypełnienia zarówno imienia, jak i nazwiska, i oba muszą pasować. Każde z nich może zawierać własny symbol wieloznaczny, więc john* plus smith* zatrzyma Johnny Smithson i pominie Johnny Jones. Między typami pól logika jest nadal typu OR: wpis blokuje zamówienie, gdy obie nazwy pasują, lub e-mail pasuje, lub adres IP pasuje.
Zakresy adresów IP działają według segmentu, a nie według wzorca
Wieloznaczne znaki IP są celowo węższe niż wieloznaczne znaki e-mail i nazwy. Wieloznaczny adres IP musi być w formacie IPv4 w segmentach: dokładnie cztery segmenty oddzielone kropkami. Każdy z nich jest albo zwykłą liczbą od 0 do 255, albo samotnym *, z co najmniej jedną rzeczywistą liczbą gdzieś w środku.
Więc 192.168.1.*, 192.168.*.1 i 192.*.*.1 są poprawne. Te nie są:
*.*.*.*, ponieważ żaden segment nie jest liczbą rzeczywistą19*.168.1.1, ponieważ segment musi być albo wszystkimi cyframi, albo wszystkim wieloznacznym, nigdy mieszanką1.2.3.*.5, ponieważ to pięć segmentów2001:db8::*, ponieważ maski rozszerzeń IPv6 nie są obsługiwane
Notacja CIDR wykracza poza zakres tego wydania. Dokładne adresy IPv4 i IPv6 nadal działają tak, jak poprzednio. Adres IP klienta jest rozwiązywany za pomocą własnego pomocnika geolokalizacji WooCommerce, który uwzględnia już typowe nagłówki proxy i przekazane nagłówki, które otrzymujesz za CDN.
Wartości, których Checkout Guard odmawia zapisać
Reguła, która pasuje do wszystkich, nie jest regułą blokującą, jest awarią. Checkout Guard odrzuca dwie formy od razu, w oknie administracyjnym i ponownie w interfejsie API REST.
Pierwsza to zwykły symbol wieloznaczny. Jeśli po usunięciu gwiazdek, białych znaków i separatorów z wartości nic nie pozostanie, wartość jest odrzucana. Obejmuje to *, **, * *, a także bardziej podstępne, takie jak *@*, *.* i *@*.*, z których każdy pasowałby do każdego kandydata w swojej dziedzinie. Wartość taka jak *@example.com przechodzi ten sam test, ponieważ pozostaje examplecom, więc jest to wzorzec, a nie ogólny chwytak.
Drugi to szerokość. Pojedyncza wartość może używać maksymalnie pięciu gwiazdek. Sześć lub więcej jest odrzucane podczas zapisywania. Istnieje również druga ochrona w czasie dopasowywania. Jeśli reguła szersza niż pięć symboli wieloznacznych jakimś cudem zostanie zapisana, dopasowywacz ją pomija i zapisuje w dzienniku debugowania, zamiast kompilować nieograniczone wyrażenie przy każdym rozliczeniu.
Oba kontrole istnieją po stronie serwera i są odzwierciedlone w oknie administracyjnym, dzięki czemu otrzymujesz błąd w linii, zamiast po podróży w obie strony. Serwer jest autorytetem. Jeśli te dwa kiedykolwiek się rozbiegną, zapis zakończy się czystym błędem, zamiast zapisywać coś nieprawidłowego.

Dodawanie pierwszej reguły symbolu wieloznacznego
Aby zablokować domenę e-mail w WooCommerce, przejdź do WooCommerce → Checkout Guard i otwórz kartę Blocked Entries, a następnie dodaj wpis. Okno dialogowe jest takie samo, jakiego używałeś, z nowym tekstem podpowiedzi pod każdym polem:

- Imię i Nazwisko pokazują
Użyj * jako symbolu wieloznacznego, na przykład jo*iUżyj * jako symbolu wieloznacznego, na przykład sm*th. - Adres e-mail pokazuje
Użyj * jako symbolu wieloznacznego, na przykład *@example.com. - Adres IP wyjaśnia węższą zasadę: pojedynczy adres IPv4 lub IPv6 dla dokładnego dopasowania, lub wzorzec segmentu IPv4 z symbolem wieloznacznym, taki jak
192.168.1.*. Przypomina również, że adresy IP są danymi osobowymi, które preambuła 30 RODO klasyfikuje jako identyfikatory online, więc przechowuj je zgodnie z Twoimi obowiązkami dotyczącymi prywatności. - Zapisz wpis.

Egzekwowanie nie zostało zmienione. Reguła ma zastosowanie w klasycznym formularzu zamówienia z użyciem shortcode oraz w formularzu zamówienia z użyciem bloków za pośrednictwem Store API, ponieważ obie ścieżki przechodzą przez ten sam mechanizm dopasowania. Zablokowany klient widzi komunikat, który napisałeś w ustawieniu Komunikat o odmowie realizacji zamówienia, koszyk jest opróżniany i nie podejmowana jest próba płatności. Jeśli nigdy nie dotykałeś tego ustawienia, domyślny komunikat brzmi: „Przepraszamy, nie możesz teraz złożyć zamówienia, skontaktuj się z pomocą techniczną”.
Co zaobserwowaliśmy: właściciele sklepów, którzy czerpią z tego najwięcej, to ci, którzy piszą wąskie wzorce i szerokie notatki. Blokowanie
*@somedisposabledomain.comto dobry ruch. Blokowanie*@gmail.com, ponieważ trzy złe zamówienia przypadkowo użyły Gmaila, to sposób na ciche utratę miesiąca legalnej sprzedaży, a nic wtyczki Cię przed tym nie powstrzyma, ponieważ ta reguła jest technicznie poprawna. Symbol wieloznaczny nagradza precyzję, więc sprawdź, co obejmuje wzorzec, zanim wejdzie w życie.
Symbole wieloznaczne przez interfejs API REST
REST API Checkout Guard w przestrzeni nazw cgfw/v1 akceptuje również wartości symboli wieloznacznych, w przypadku pojedynczych tworzeń, aktualizacji i punktu końcowego wsadowego. Ma to znaczenie, jeśli chcesz zablokować domenę e-mail w WooCommerce z usługi oceny oszustw lub automatyzacji pomocy technicznej. Każda trasa wymaga uprawnienia manage_woocommerce, a wywołujący maszynowo powinni uwierzytelniać się za pomocą hasła aplikacji WordPress zamiast ciasteczka, zgodnie z dokumentacją haseł aplikacji WordPress.
Dwa zachowania są warte poznania, zanim coś podłączysz:
POST /check, punkt końcowy odpowiadający na pytanie „czy ten klient zostałby zablokowany”, pozostaje rygorystyczny. Kandydat do sprawdzenia to rzeczywista wartość klienta i nigdy wzorzec, więc gwiazdka w jakimkolwiek polu zwraca błąd 400. Wyszukiwanie reguł działa inaczej: GET /entries?email=*@example.com znajduje dokładnie tę zapisaną regułę, ponieważ wyszukiwania porównują dosłownie i nigdy nie rozszerzają symbolu wieloznacznego. Z tego samego powodu reguła z symbolem wieloznacznym i reguła dosłowna z identycznymi znakami są zawsze dwoma odrębnymi wpisami, więc deduplikacja nie może ich cicho połączyć.
W przypadku tworzenia wsadowego, element z gołym symbolem wieloznacznym jest pomijany i liczony w całkowitej liczbie skipped w odpowiedzi, zamiast powodować błąd całego żądania. Odpowiada to sposobowi, w jaki wcześniej obsługiwano nieprawidłowe adresy IP.
Jedna rzecz do sprawdzenia przed aktualizacją
Istnieje jeden przypadek brzegowy i jest on wart dwóch minut Twojego czasu. Wpis zapisany przed tym wydaniem, który przypadkowo zawiera dosłowną gwiazdkę w polu nazwy, będzie teraz odczytywany jako wzorzec, a nie jako ten znak. Migracja nie jest uruchamiana, ponieważ zgadywanie intencji byłoby gorsze niż sama zmiana.
Jeśli Twoja lista blokowanych jest krótka, przejrzyj ją. Jeśli jest długa, pobierz ją z GET /entries i wyszukaj gwiazdki. Prawie nikt nie ma klienta z gwiazdką w nazwisku, ale prawie nikt to nie to samo co nikt.
Reguły bez gwiazdki są całkowicie nietknięte. Porównanie dla nich jest bajt po bajcie takie, jakie było wcześniej, więc przytłaczająca większość istniejących list blokowanych zachowuje się identycznie po aktualizacji.
Teraz możesz zablokować domenę e-mail w WooCommerce za pomocą reguły z symbolem wieloznacznym, w Checkout Guard 1.0.2. Nadal zastanawiasz się, czy lista blokad jest odpowiednim narzędziem dla Twojej sytuacji? Nasze przewodniki na temat jak zablokować klienta w WooCommerce i co robi wtyczka listy blokad WooCommerce to dobre miejsce na początek.
Często zadawane pytania
Czy mogę zablokować domenę e-mail w WooCommerce?
Tak. Aby zablokować domenę e-mail w WooCommerce, dodaj regułę Checkout Guard z wartością e-mail *@example.com, a wszystkie adresy z tej domeny zostaną zatrzymane przy kasie. Dopasowanie nie rozróżnia wielkości liter i obejmuje zarówno zakupy gościnne, jak i zalogowanych klientów.
Czy moje istniejące reguły blokowania nadal działają po aktualizacji?
Tak. Każda reguła, która nie zawiera gwiazdki, jest porównywana dokładnie tak, jak poprzednio. Jedynym wyjątkiem jest istniejąca reguła z dosłowną gwiazdką w polu nazwy, która będzie teraz traktowana jako wzorzec symbolu wieloznacznego.
Czy mogę użyć symbolu wieloznacznego do zablokowania zakresu adresów IP?
Możesz zablokować zakres IPv4 według segmentu, na przykład 192.168.1.* lub 192.*.*.1. Każdy z czterech segmentów musi być liczbą od 0 do 255 lub pojedynczym znakiem gwiazdki, a co najmniej jeden segment musi być liczbą. Notacja CIDR i symbole wieloznaczne IPv6 nie są obsługiwane.
Dlaczego moja reguła symbolu wieloznacznego została odrzucona?
Dwie wartości są odrzucane. Pusta gwiazdka, taka jak *, *@* lub *.*, jest odrzucana, ponieważ pasowałaby do każdego klienta. Wartość używająca więcej niż pięciu gwiazdek jest odrzucana z tego samego powodu. Dodaj co najmniej jeden znak litery i zachowaj wzorzec poniżej sześciu symboli wieloznacznych.
Czy blokowanie za pomocą symboli wieloznacznych działa przy blokowaniu kasy?
Tak. Klasyczna kasa z krótkim kodem i blokada kasy działają w oparciu o ten sam kod dopasowujący, więc reguła symbolu wieloznacznego działa identycznie na obu. Zablokowany kupujący widzi Twoją niestandardową wiadomość o odmowie i nie jest podejmowana żadna próba płatności.
Czy mogę dodawać reguły symboli wieloznacznych z zewnętrznego systemu?
Tak. Interfejs API REST Checkout Guard akceptuje wartości z symbolami wieloznacznymi przy tworzeniu, aktualizacji i tworzeniu wsadowym, uwierzytelniony za pomocą hasła aplikacji przez użytkownika z uprawnieniem manage_woocommerce. Wyjątkiem jest punkt końcowy POST /check, który odrzuca symbole wieloznaczne, ponieważ testuje rzeczywiste wartości klientów, a nie wzorce.










