Zum Inhalt

CatalogSearchSpamFilter — Katalogsuche Spam-Filter

Extension for Magento 2

Bedienungsanleitung


CopeX GmbH
Web: https://copex.io
Email: office@copex.io


Inhaltsverzeichnis

Abschnitt Seite
1 Voraussetzungen 2
2 Installation 2
3 Konfiguration 2
4 Funktionsweise 4
5 Fehlerbehandlung 4

1 Voraussetzungen

  • Magento 2.4 oder höher
  • PHP 8.1 oder höher
  • Kompatibel mit Luma- und Hyvä-Themes

2 Installation

Via Composer

composer require copex/module-catalog-search-spam-filter
php bin/magento module:enable CopeX_CatalogSearchSpamFilter
php bin/magento setup:upgrade
php bin/magento cache:flush

3 Konfiguration

Die Konfiguration des Moduls finden Sie im Magento 2 Backend unter Shops > Konfiguration > Katalog > Katalog > Katalogsuche Spam-Filter.

Konfiguration Spam-Filter

3.1 Aktivierung

  • Aktiv — Aktiviert oder deaktiviert den Spam-Filter. Wenn deaktiviert, werden alle Suchanfragen ohne Filterung weitergeleitet.

3.2 Gesperrte Wörter/Zeichen

  • Wörter / Zeichen — Eine konfigurierbare Liste von gesperrten Phrasen und Zeichen. Wenn der Suchbegriff eines Kunden einen dieser Einträge enthält, wird der Kunde auf die 404-Seite weitergeleitet und die Suche wird nicht ausgeführt.

Jede Zeile in der Tabelle enthält ein gesperrtes Wort oder eine gesperrte Phrase. Über die Schaltfläche Zeile hinzufügen können neue Einträge ergänzt werden. Nicht mehr benötigte Einträge können über die Schaltfläche Löschen entfernt werden.

Standard-Sperrliste:

Das Modul wird mit einer vordefinierten Liste von häufigen Angriffsvektoren ausgeliefert:

Gesperrter Begriff Zweck
-1 OR SQL-Injection-Versuch
-1' OR SQL-Injection-Versuch
@@ SQL-Systemvariablen-Abfrage
echo Code-Ausführungsversuch
http URL-Injection
perl Script-Injection
nslookup DNS-Lookup-Injection
test', test", test%' Anführungszeichen-Angriffe
text', text", text%' Anführungszeichen-Angriffe
1"" Anführungszeichen-Angriffe

Diese Liste kann vollständig angepasst werden: Einträge können gelöscht oder durch eigene Begriffe ersetzt werden.


4 Funktionsweise

4.1 Filterlogik

Der Spam-Filter greift bei jeder Suchanfrage im Frontend ein, bevor Magento die Suchergebnisse abruft:

  1. Der Observer ControllerActionPredispatchObserver wird auf das Ereignis controller_action_predispatch ausgelöst.
  2. Wenn der Spam-Filter deaktiviert ist, wird nichts unternommen.
  3. Wenn die aktuelle Aktion nicht catalogsearch_result_index ist, wird nichts unternommen.
  4. Der Suchbegriff (q-Parameter in der URL) wird mit allen konfigurierten gesperrten Phrasen verglichen.
  5. Enthält der Suchbegriff eine gesperrte Phrase, wird die Anfrage auf die 404-Seite weitergeleitet.

Wichtig: Die Filterung erfolgt ausschließlich auf der Storefront. Admin-Suchen und API-Aufrufe werden nicht gefiltert.

4.2 Weiterleitungsverhalten

Bei einer gesperrten Suchanfrage wird der Benutzer auf die Magento-Standard-404-Seite (noroute) weitergeleitet. Es wird keine Fehlermeldung angezeigt und keine Benutzerinformation hinterlassen — die Weiterleitung erfolgt transparent.


5 Fehlerbehandlung

  • Legitime Suchanfragen werden blockiert — Überprüfen Sie die Sperrliste unter Shops > Konfiguration > Katalog > Katalog > Katalogsuche Spam-Filter > Wörter / Zeichen. Entfernen Sie Einträge, die zu häufig in normalen Suchanfragen Ihrer Kunden vorkommen.

  • Spam-Suchanfragen werden nicht blockiert — Stellen Sie sicher, dass das Modul aktiviert ist und der Cache geleert wurde. Wenn neue Begriffe hinzugefügt wurden, ist ein Cache-Flush erforderlich (php bin/magento cache:flush).

  • Konfigurationsänderungen greifen nicht — Nach Änderungen an der Sperrliste muss der Magento-Cache geleert werden, damit die neuen Einstellungen wirksam werden.


Lizenz

Proprietär — CopeX GmbH. Eine Lizenz pro produktiver Magento-Instanz.