Visser Labs – WooCommerce Plugins

E-Mail-Domäne in WooCommerce blockieren: Checkout Guard Wildcard-Regeln

E-Mail-Domäne in WooCommerce blockieren: Checkout Guard Wildcard-Regeln

Checkout Guard 1.0.2 ermöglicht es Ihnen, eine E-Mail- Domain in WooCommerce mit einer Wildcard-Regel zu blockieren. Ein einzelner Eintrag wie *@example.com oder 192.168.1.* stoppt jetzt jede Adresse einer Domain oder jede IP in einem Bereich. Shop-Betreiber, die wiederholten Betrug verfolgen, können die Pflege exakter Listen von Hand einstellen.

Die Änderung ist auf dem Bildschirm klein und in der Praxis groß. Keine neue Einstellungsseite, keine neuen Felder, keine Migration. Die gleichen vier Felder, die Sie bereits verwenden, akzeptieren ein zusätzliches Zeichen, und dieses Zeichen ändert, was eine einzelne Regel abdecken kann. Unten behandeln wir, was der Stern tatsächlich tut und wie sich IP-Bereiche von E-Mail- und Namensmustern unterscheiden. Wir listen auch die Werte auf, die Checkout Guard nicht speichern wird, und das eine, was Sie vor dem Upgrade überprüfen sollten.

Inhaltsverzeichnis

Eine E-Mail-Domain in WooCommerce mit einer Regel blockieren

Bis zu dieser Veröffentlichung wurde jeder Wert in einer Checkout Guard-Regel als exakter String verglichen. Bei Namen und E-Mails spielte die Groß-/Kleinschreibung keine Rolle, aber sonst war nichts flexibel. Wenn zwanzig Bestellungen von zwanzig Adressen von derselben Wegwerf-Domain kamen, fügten Sie zwanzig Einträge hinzu. Dann einundzwanzig, als die nächste Adresse auftauchte. Diese Liste aktuell zu halten, ist die mühsame Hälfte jedes Plans, um gefälschte Bestellungen in WooCommerce zu verhindern.

Das ist in Ordnung, wenn das Problem eine Person ist. Es ist völlig ungeeignet, wenn das Problem eine Domain oder ein Netzwerkblock ist. So sieht Missbrauch normalerweise aus, sobald er nicht mehr ein einzelner verärgerter Kunde ist, sondern ein Skript. Wildcards ermöglichen es einer Regel, das gesamte Muster zu beschreiben, anstatt die Instanzen aufzuzählen. Eine E-Mail-Domain in WooCommerce mit einem Eintrag blockieren zu können, macht es praktisch, Spam-Bestellungen in WooCommerce zu stoppen, sobald das Volumen steigt.

Was der Stern tatsächlich tut

In den Feldern Vorname, Nachname und E-Mail steht * für null oder mehr Zeichen und kann überall im Wert vorkommen:

  • *@example.com blockiert jede Adresse dieser Domain
  • jo* passt auf jo, john und johnny
  • sm*th passt auf smith und smyth
  • *son passt auf Jackson und Wilson

Die Übereinstimmung bleibt unabhängig von Groß- und Kleinschreibung, genau wie zuvor. Sie ist auch an beiden Enden verankert, was die meisten Leute falsch verstehen, wenn sie sich vorstellen, wie das funktioniert. john* passt auf johnny, aber nicht auf ajohn. Das Muster muss den gesamten Wert abdecken, nicht nur einen Teil davon.

Jedes Zeichen außer dem Sternchen wird wörtlich genommen. Der Punkt in *@example.com ist ein echter Punkt, kein regulärer Ausdruck, sodass ein Muster nicht versehentlich mehr abgleichen kann, als Sie beabsichtigt haben. Wenn Sie eine E-Mail-Domain auf diese Weise in WooCommerce blockieren, ist nur diese Domain betroffen.

Namen behalten den Vertrag, den sie immer hatten. Ein Eintrag, der nach einem Namen blockiert, benötigt sowohl den Vor- als auch den Nachnamen ausgefüllt, und beide müssen übereinstimmen. Jeder davon kann seinen eigenen Platzhalter tragen, sodass john* plus smith* Johnny Smithson stoppt und Johnny Jones in Ruhe lässt. Über Feldtypen hinweg ist die Logik immer noch ein ODER: Ein Eintrag blockiert eine Bestellung, wenn beide Namen übereinstimmen, oder die E-Mail übereinstimmt, oder die IP übereinstimmt.

IP-Bereiche funktionieren nach Segment, nicht nach Muster

IP-Platzhalter sind bewusst enger gefasst als E-Mail- und Namensplatzhalter. Eine Wildcard-IP muss im IPv4-Segmentformat vorliegen: genau vier durch Punkte getrennte Segmente. Jedes davon ist entweder eine normale Zahl von 0 bis 255 oder ein einzelnes *, wobei irgendwo mindestens eine echte Zahl vorhanden sein muss.

Daher sind 192.168.1.*, 192.168.*.1 und 192.*.*.1 alle gültig. Diese sind es nicht:

  • *.*.*.*, da kein Segment eine echte Zahl ist
  • 19*.168.1.1, da ein Segment entweder nur aus Ziffern oder nur aus Platzhaltern bestehen muss, niemals aus einer Mischung
  • 1.2.3.*.5, da dies fünf Segmente sind
  • 2001:db8::*, da IPv6-Wildcards nicht unterstützt werden

Die CIDR-Notation ist für diese Version nicht vorgesehen. Exakte IPv4- und IPv6-Adressen funktionieren weiterhin wie bisher. Die Client-IP wird über die eigene Geolocation-Hilfsfunktion von WooCommerce ermittelt, die bereits die gängigen Proxy- und Forwarded-Header berücksichtigt, die Sie hinter einem CDN erhalten.

Die Werte, die Checkout Guard nicht speichern wird

Eine Regel, die auf alle zutrifft, ist keine Blockierregel, sondern ein Ausfall. Checkout Guard lehnt zwei Formen sofort ab, im Admin-Dialog und erneut in der REST-API.

Die erste ist ein reiner Wildcard. Wenn nach dem Entfernen der Sternchen, Leerzeichen und Trennzeichen aus einem Wert nichts übrig bleibt, wird der Wert abgelehnt. Das deckt *, **, * * und auch die hinterhältigeren wie *@*, *.* und *@*.* ab, von denen jede jedem Kandidaten in ihrem Feld entsprechen würde. Ein Wert wie *@example.com übersteht denselben Test, da examplecom übrig bleibt, also ist es ein Muster und kein Auffangnetz.

Die zweite ist die Breite. Ein einzelner Wert kann höchstens fünf Sternchen verwenden. Sechs oder mehr werden bei der Speicherung abgelehnt. Es gibt auch eine zweite Absicherung zur Laufzeit. Wenn eine Regel mit mehr als fünf Wildcards irgendwie gespeichert wird, überspringt der Abgleicher sie und schreibt in das Debug-Protokoll, anstatt bei jedem Checkout einen unbegrenzten Ausdruck zu kompilieren.

Beide Prüfungen erfolgen auf dem Server und werden im Admin-Dialog gespiegelt, sodass Sie den Fehler inline erhalten, anstatt nach einer Hin- und Rückreise. Der Server ist die Autorität. Wenn die beiden jemals abweichen, schlägt das Schreiben sauber fehl, anstatt etwas Falsches zu speichern.

Checkout Guard Dialog zum Hinzufügen eines Eintrags lehnt ein einzelnes Sternchen im E-Mail-Feld mit der Fehlermeldung ab, dass ein Feld nicht nur ein Wildcard sein kann
Ein reines Sternchen wird inline abgelehnt, bevor die Anfrage gesendet wird.

Ihre erste Wildcard-Regel hinzufügen

Um eine E-Mail-Domain in WooCommerce zu blockieren, gehen Sie zu WooCommerce → Checkout Guard und öffnen Sie den Tab Blocked Entries, fügen Sie dann einen Eintrag hinzu. Der Dialog ist derselbe, den Sie bereits verwendet haben, mit neuem Hinweistext unter jedem Feld:

Checkout Guard Dialog zum Hinzufügen blockierter Einträge zeigt Wildcard-Hinweistext unter den Feldern Vorname, Nachname, E-Mail und IP-Adresse an
Der Dialog zum Hinzufügen von Einträgen zeigt jetzt Wildcard-Hinweise unter jedem Feld an.
  1. Vorname und Nachname zeigen Verwenden Sie * als Wildcard, z.B. jo* und Verwenden Sie * als Wildcard, z.B. sm*th.
  2. E-Mail-Adresse zeigt Verwenden Sie * als Wildcard, z.B. *@example.com.
  3. IP-Adresse erklärt die engere Regel: eine einzelne IPv4- oder IPv6-Adresse für eine exakte Übereinstimmung oder ein IPv4-Segmentmuster mit Wildcard wie 192.168.1.*. Es erinnert Sie auch daran, dass IP-Adressen personenbezogene Daten sind, die gemäß Erwägungsgrund 30 der DSGVO als Online-Identifikatoren gelten, also speichern Sie sie im Einklang mit Ihren Datenschutzverpflichtungen.
  4. Speichern Sie den Eintrag.
Blockieren einer E-Mail-Domain in WooCommerce: Checkout Guard Tabelle blockierter Einträge listet eine einzelne gespeicherte Regel mit dem E-Mail-Wert Sternchen bei example.com auf
Eine gespeicherte Regel, die jede Adresse in der Domain abdeckt.

Die Durchsetzung hat sich nicht bewegt. Die Regel gilt für den klassischen Shortcode-Checkout und für den Block-Checkout über die Store-API, da beide Pfade durch denselben Abgleicher laufen. Ein blockierter Käufer sieht die Nachricht, die Sie in der Einstellung Checkout-Ablehnungsnachricht eingegeben haben, der Warenkorb wird geleert und es wird keine Zahlung versucht. Wenn Sie diese Einstellung noch nie geändert haben, lautet die Standardeinstellung: „Entschuldigung, Sie dürfen im Moment keine Bestellung aufgeben, bitte kontaktieren Sie den Support.“

Was wir gesehen haben: Die Shop-Besitzer, die das meiste daraus machen, sind diejenigen, die das Muster eng und die Notiz breit schreiben. Das Blockieren von *@somedisposabledomain.com ist eine gute Entscheidung. Das Blockieren von *@gmail.com, weil drei schlechte Bestellungen Gmail verwendet haben, ist der Weg, wie Sie leise einen Monat legitimer Verkäufe verlieren, und nichts im Plugin wird Sie davon abhalten, weil diese Regel technisch gültig ist. Wildcards belohnen Präzision, also überprüfen Sie, was ein Muster abdeckt, bevor es live geht.

Wildcards über die REST API

Die REST-API von Checkout Guard im Namespace cgfw/v1 akzeptiert ebenfalls Wildcard-Werte, sowohl bei einzelnen Erstellungen, Aktualisierungen als auch am Batch-Endpunkt. Das ist wichtig, wenn Sie eine E-Mail-Domäne in WooCommerce aus einem Betrugs-Scoring-Dienst oder einer Helpdesk-Automatisierung blockieren möchten. Jede Route erfordert die Berechtigung manage_woocommerce, und maschinelle Aufrufer sollten sich gemäß der Dokumentation zu Anwendungs-Passwörtern von WordPress mit einem WordPress-Anwendungs-Passwort anstelle eines Cookies authentifizieren.

Zwei Verhaltensweisen sind es wert, bevor Sie etwas verdrahten:

POST /check, der Endpunkt, der „würde dieser Kunde blockiert werden“ beantwortet, bleibt streng. Ein Prüfkandidat ist ein echter Kundenwert und niemals ein Muster, daher gibt ein Sternchen in einem beliebigen Feld dort eine 400 zurück. Regel-Lookups gehen den anderen Weg: GET /entries?email=*@example.com findet diese exakte gespeicherte Regel, da Lookups wörtlich vergleichen und niemals einen Wildcard erweitern. Aus demselben Grund sind eine Wildcard-Regel und eine Literal-Regel mit identischen Zeichen immer zwei verschiedene Einträge, sodass eine Deduplizierung sie nicht stillschweigend zusammenführen kann.

Bei Batch-Erstellungen wird ein Element mit einem reinen Wildcard übersprungen und in der skipped-Gesamtzahl der Antwort gezählt, anstatt die gesamte Anfrage fehlschlagen zu lassen. Das entspricht der bereits gehandhabten Art und Weise, wie fehlerhafte IPs behandelt wurden.

Eine Sache, die Sie vor dem Upgrade überprüfen sollten

Es gibt einen einzigen Ausnahmefall, und er ist zwei Minuten Ihrer Zeit wert. Ein Eintrag, der vor dieser Veröffentlichung gespeichert wurde und zufällig ein Literal-Sternchen in einem Namensfeld enthält, wird nun als Muster und nicht als dieses Zeichen gelesen. Es gibt keine Migration, da das Raten der Absicht schlimmer wäre als die Änderung selbst.

Wenn Ihre Blockierliste kurz ist, überfliegen Sie sie. Wenn sie lang ist, ziehen Sie sie aus GET /entries und suchen Sie nach Sternchen. Fast niemand hat einen Kunden mit einem Sternchen im Nachnamen, aber fast niemand ist nicht dasselbe wie niemand.

Regeln ohne Sternchen sind völlig unberührt. Der Vergleich für diese ist Byte-für-Byte, wie er vorher war, sodass die überwiegende Mehrheit der bestehenden Blockierlisten nach dem Update identisch funktioniert.

Sie können eine E-Mail-Domain in WooCommerce jetzt mit einer Wildcard-Regel in Checkout Guard 1.0.2 blockieren. Sind Sie noch unsicher, ob eine Blockierliste das richtige Werkzeug für Ihre Situation ist? Unsere Anleitungen zum Blockieren eines Kunden in WooCommerce und Was ein WooCommerce Blocklist-Plugin tut sind der richtige Ausgangspunkt.

Häufig gestellte Fragen

Kann ich eine E-Mail-Domain in WooCommerce blockieren?

Ja. Um eine E-Mail-Domain in WooCommerce zu blockieren, fügen Sie eine Checkout Guard-Regel mit dem E-Mail-Wert *@example.com hinzu und jede Adresse dieser Domain wird beim Checkout gestoppt. Die Übereinstimmung ist nicht case-sensitiv und gilt sowohl für Gast-Checkouts als auch für eingeloggte Kunden.

Funktionieren meine bestehenden Blockierregeln nach dem Update noch?

Ja. Jede Regel, die keinen Stern enthält, wird exakt wie zuvor verglichen. Die einzige Ausnahme ist eine bereits bestehende Regel mit einem wörtlichen Stern in einem Namensfeld, die nun als Wildcard-Muster behandelt wird.

Kann ich einen Wildcard verwenden, um einen IP-Bereich zu blockieren?

Sie können einen IPv4-Bereich nach Segment blockieren, zum Beispiel 192.168.1.* oder 192.*.*.1. Jedes der vier Segmente muss entweder eine Zahl von 0 bis 255 oder ein einzelnes Sternchen sein, und mindestens ein Segment muss eine Zahl sein. CIDR-Notation und IPv6-Wildcards werden nicht unterstützt.

Warum wurde meine Wildcard-Regel abgelehnt?

Zwei Werte werden abgelehnt. Ein reines Wildcard wie *, *@* oder *.* wird abgelehnt, da es jeden Kunden abgleichen würde. Ein Wert mit mehr als fünf Sternchen wird aus demselben Grund abgelehnt. Fügen Sie mindestens ein Literalzeichen hinzu und halten Sie das Muster unter sechs Wildcards.

Funktioniert die Wildcard-Blockierung beim Block-Checkout?

Ja. Der klassische Shortcode-Checkout und der Block-Checkout laufen beide durch denselben Abgleichcode, sodass eine Wildcard-Regel bei beiden identisch funktioniert. Der blockierte Käufer sieht Ihre benutzerdefinierte Ablehnungsnachricht und es wird keine Zahlung versucht.

Kann ich Wildcard-Regeln von einem externen System hinzufügen?

Ja. Die Checkout Guard REST API akzeptiert Wildcard-Werte bei der Erstellung, Aktualisierung und Batch-Erstellung, authentifiziert mit einem Anwendungspasswort durch einen Benutzer mit der Berechtigung manage_woocommerce. Der Endpunkt POST /check ist die Ausnahme und lehnt Wildcards ab, da er reale Kundenwerte und keine Muster testet.

Autoren-Avatar
Gracielle Hernandez Marketing Manager

Beliebte Artikel

Artikel teilen

Kommentar hinzufügen

Wir freuen uns, dass Sie sich entschieden haben, einen Kommentar zu hinterlassen. Bitte beachten Sie, dass alle Kommentare gemäß unserer Datenschutzrichtlinie moderiert werden und alle Links Nofollow sind. Verwenden Sie KEINE Schlüsselwörter im Namensfeld. Lassen Sie uns ein persönliches und bedeutungsvolles Gespräch führen.

Ressourcen & Hilfe