IP- & Ländersperre, Besucherkontrolle: Einrichtung und Hilfe
Schnellstart
- Laden Sie die ZIP-Datei von mprvisitorcontrol über den Modulmanager hoch und installieren Sie sie.
- Klicken Sie auf Konfigurieren, um General Settings zu öffnen. Prüfen Sie die Optionen und speichern Sie.
- Öffnen Sie IP Whitelist und speichern Sie Ihre vertrauenswürdige Test- oder Büro-IP unter IP Address mit einem Label.
- Melden Sie sich im Frontoffice mit einem Testkundenkonto an, lassen Sie die Seite für die Datenerfassung geöffnet und prüfen Sie anschließend diesen Kunden im Backoffice.
- Öffnen Sie Visitor Bans und fügen Sie eine Regel für eine separate Testadresse hinzu. Legen Sie Ban Type und Active fest und tragen Sie für den Test ein Ablaufdatum im Feld Expiry Date ein.
- Öffnen Sie von der entsprechenden Testadresse aus eine betroffene Seite und prüfen Sie, ob eine 403-Antwort und die vorgesehene Meldung erscheinen.
- Deaktivieren Sie die Testregel und prüfen Sie, ob der Zugriff wieder möglich ist. Deaktivieren Sie das Modul über den Modulmanager, wenn Sie die gesamte Datenerfassung und alle Sperren beenden müssen.
Erfordert PrestaShop 1.6.1 oder höher und PHP 7.1 oder höher.
Einrichtungsanleitung
Installation und erste Konfiguration
Folgen Sie den Schritten im Schnellstart.
Einstellungen vor der Verwendung prüfen
Bei der Installation sind Datenerfassung, Erfassung von Gästen, Besuchersperren und Bestellungsanzeigen aktiviert. Die Aufbewahrungsdauer beträgt nach der Installation 90 Tage. Die Aktion Konfigurieren öffnet General Settings.
Das Speichern von General Settings übernimmt die Einstellungen für Datenerfassung, Gästeerfassung, Sperren, Bestellungsanzeigen und Aufbewahrung. Default Ban Message wird für jede Sprache gespeichert und verwendet, wenn eine passende Regel keine eigene Meldung hat.
Setzen Sie Enable Data Collection oder Enable Visitor Banning auf Nein und speichern Sie, um die jeweilige Funktion zu beenden. Deaktivieren Sie das Modul im Modulmanager, um beides zu stoppen. Verwalten Sie einzelne Sperr- und Whitelist-Einträge über die jeweiligen Seiten.
| Formularbezeichnung | Wert nach der Installation | Aktuelles Verhalten |
|---|---|---|
| Enable Data Collection | Ja | Browseranfragen und Informationen zu Anmeldungen und Kontoerstellungen werden erfasst. Setzen Sie den Wert auf Nein und speichern Sie, um die Erfassung zu stoppen. |
| Track Guest Visitors | Ja | Nicht angemeldete Besucher werden einbezogen, mit ihrer Gast-ID, sofern verfügbar. Setzen Sie den Wert auf Nein und speichern Sie, um nur angemeldete Kunden zu erfassen. |
| Enable Visitor Banning | Ja | Aktive Sperrregeln werden durchgesetzt, bevor die Frontoffice-Seiten geladen werden. Setzen Sie den Wert auf Nein und speichern Sie, um die Sperren zu stoppen. |
| Show Info on Orders | Ja | Die Besucheranzeige des Kunden erscheint auf unterstützten Bestellungsseiten im Backoffice. Setzen Sie den Wert auf Nein und speichern Sie, um diese Anzeige auszublenden. |
| Log Retention (days) | 90 | Entfernt automatisch Datensätze, die älter als die gespeicherte Anzahl von Tagen sind. Geben Sie eine nicht negative ganze Zahl ein; 0 bewahrt Datensätze unbegrenzt auf. |
| Default Ban Message | Englische Zugriffsbeschränkungsmeldung, die für jede Sprache hinterlegt wird | Speichert die Ersatzmeldung für jede Sprache. Die eigene Meldung einer passenden Regel hat Vorrang. |
Die bei der Installation hinterlegte englische Meldung lautet:
Your access to this website has been restricted. If you believe this is an error, please contact the store administrator.
Die Erfassung von Betriebssystem, Browser, Bildschirm und unverarbeitetem User-Agent ist bei der Installation aktiviert. Das Hauptformular für Händler enthält dafür keine separaten Einstellungen. Jeder erfasste Datensatz enthält die IP-Adresse.
Vertrauenswürdige Adressen hinzufügen
Öffnen Sie IP Whitelist. Geben Sie IP Address oder CIDR Range und ein Label ein und speichern Sie. Beispieleinträge:
IP Address: 203.0.113.10
Label: Office IP
CIDR Range: 198.51.100.0/24
Label: Agency VPN
Ersetzen Sie diese Dokumentationsadressen durch Ihre tatsächlichen vertrauenswürdigen Adressen. Die Whitelist wird vor jeder Sperrprüfung abgeglichen. Eine Adresse auf der Whitelist umgeht auch Länder-, User-Agent- und Kundensperren. Vermeiden Sie größere Bereiche, als Sie tatsächlich zulassen möchten. Die Einträge werden für den aktuellen Shop oder gegebenenfalls für alle Shops geprüft.
Sperrregeln erstellen und verwalten
Öffnen Sie Visitor Bans und fügen Sie eine Ban Rule hinzu. Füllen Sie mindestens ein Zielfeld aus. Verwenden Sie pro Regel ein Zielfeld, wenn Sie einen vorhersehbaren Test wünschen: Mehrere Zielfelder gelten als alternative Treffer, es müssen nicht alle Bedingungen erfüllt sein.
| Feld | Standardwert für neue Regeln | Verwendung |
|---|---|---|
| IP Address | Leer, sofern nicht vorausgefüllt | Geben Sie eine genaue IP, einen IPv4-Platzhalter wie 192.168.1.* oder einen Bereich mit Bindestrich wie 192.168.1.1-192.168.1.255 ein. |
| CIDR Range | Leer | Geben Sie ein IPv4-Subnetz wie 192.168.1.0/24 ein. Füllen Sie nicht gleichzeitig dieses Feld und IP Address aus. |
| Country | Keines | Wählen Sie ein Land aus, das mit dem erkannten Ländercode abgeglichen wird. |
| User Agent Pattern | Leer | Geben Sie eine Teilzeichenfolge ohne Beachtung der Groß-/Kleinschreibung oder einen regulären Ausdruck ein, der mit / beginnt und endet. |
| Customer ID | 0 | Geben Sie die ID des registrierten Kunden ein. Sie wird nur geprüft, wenn dieser Kunde angemeldet ist. |
| Ban Type | Full Block - Entire Store | Wählen Sie den unten beschriebenen Geltungsbereich. |
| Reason | Leer | Interne Notiz; sie wird dem Besucher nicht angezeigt. |
| Custom Ban Message | Leer | Überschreiben Sie die Standardmeldung für diese Regel. Die Vorlage gibt diesen Inhalt als HTML aus. |
| Active | Ja | Setzen Sie den Wert auf Nein, um die Durchsetzung der Regel zu beenden. |
| Expiry Date | Leer | Lassen Sie das Feld für eine dauerhafte Regel leer oder geben Sie ein Ablaufdatum ein. Abgelaufene aktive Einträge werden deaktiviert, wenn aktive Sperren geladen werden. |
Verwenden Sie für reguläre Ausdrücke zum Abgleich des User-Agents /(curl|wget|python-requests)/. Der Abgleich erkennt einen regulären Ausdruck nur, wenn sein letztes Zeichen / ist. Ein Beispiel, das auf /i endet, wird in dieser Version als reiner Text behandelt. Der Textabgleich berücksichtigt die Groß-/Kleinschreibung bereits nicht. User-Agent-Zeichenfolgen können vom Besucher geändert werden und weisen daher keine Identität nach.
Geltungsbereich wählen
| Ban Type | Gespeicherter Wert | Betroffene controller-Werte der Anfrage |
|---|---|---|
| Full Block - Entire Store | full |
Jede Frontoffice-Anfrage, die den Hook zur Durchsetzung erreicht |
| Checkout Only | checkout |
order, orderopc, cart, supercheckout, onepagecheckout, checkout |
| Login/Authentication Only | auth |
authentication, my-account, identity, registration, password |
Die Sperrprüfung läuft über actionDispatcher für native Frontoffice-Controller; Anfragen an Modul-Frontcontroller werden übersprungen. Für Sperren mit begrenztem Geltungsbereich liest das Modul den Wert controller der Anfrage. Testen Sie Ihre Kassen- und Kontorouten, insbesondere bei eigenen Controllern. Ein Treffer für den gesamten Shop wird vor dem engeren Geltungsbereich geprüft. Ein IP-Wechsel, etwa durch eine VPN-Verbindung, kann eine reine IP-Regel umgehen, wenn die neue Adresse außerhalb der Regel liegt.
Beispiele
Geben Sie für einen Test im gesamten Shop die Testadresse unter IP Address ein, belassen Sie Ban Type auf Full Block - Entire Store, geben Sie einen internen Reason ein und legen Sie im Feld Expiry Date ein zeitnahes Ablaufdatum fest.
Für ein Subnetz, das nur an der Kasse gesperrt werden soll, verwenden Sie CIDR Range 192.168.1.0/24 und Ban Type Checkout Only. Geben Sie für eine Regel für ein angemeldetes Konto Customer ID 123 ein und lassen Sie die anderen Zielfelder leer. Ersetzen Sie die Beispielwerte durch die vorgesehenen Testdaten.
Geben Sie für eine Meldung pro Regel Folgendes ein:
<p>Your access to checkout is temporarily restricted. Please contact support if you believe this is an error.</p>
CSV-Regeln importieren
Verwenden Sie CSV Import > Import ban rules from CSV oberhalb der Sperrliste, wählen Sie eine CSV-Datei und klicken Sie auf Import. Die Spalten werden anhand ihrer Position zugeordnet:
ip_address,ban_type,reason
192.168.1.1,full,Fraud attempt
192.168.1.0/24,checkout,Suspicious checkout traffic
203.0.113.10,auth,Fake account attempts
Die erste Zeile kann die Spaltenüberschrift ip_address oder ip enthalten. Adressen mit Schrägstrich werden in das CIDR-Feld übernommen. Importierte Einträge sind aktiv, dauerhaft und dem aktuellen Shop-Kontext zugeordnet. Ein nicht unterstützter Sperrtyp wird zu full; eine leere Adresse wird übersprungen. Der Import prüft die Adressformate nicht umfassend. Prüfen Sie die entstandenen Einträge, statt die Anzahl der importierten Einträge als erfolgreichen Sperrtest zu betrachten.
Besucherdaten erfassen und prüfen
Die Datenerfassung wird über displayHeader eingebunden. Nachdem das DOM bereit ist, wartet sie etwa 1,5 Sekunden und ruft dann die erzeugte Erfassungs-URL mit sw und sh aus den Bildschirmabmessungen des Browsers auf. Bei benutzerfreundlichen Routen kann eine URL so aussehen:
/module/mprvisitorcontrol/collect?sw=1920&sh=1080
Der Browser verwendet den Sitzungsspeicherschlüssel mprvc_collected, um die Anfrage innerhalb derselben Sitzung nicht zu wiederholen. Wenn der Speicher nicht verfügbar ist, kann die Erfassung wiederholt werden. Eine abgeschlossene HTTP-Anfrage markiert die Browsersitzung auch dann, wenn die JSON-Antwort einen deaktivierten Zustand oder einen Fehler meldet. Prüfen Sie beim Testen die tatsächliche Antwort.
Der Server speichert IP, Land, User-Agent, Betriebssystem, Browser/Version, Bildschirmabmessungen, Gerätetyp, Kunden-ID, Gast-ID, Shop-ID und Datum des Datensatzes. Auch bei Anmeldung und Kontoerstellung werden Daten über actionAuthentication und actionCustomerAccountAdd erfasst.
Die Erfassung unterdrückt einen neuen Datensatz für denselben Kunden oder Gast und dieselbe IP, wenn bereits ein Datensatz aus der letzten Stunde vorliegt. Sie kann die Bildschirmauflösung in diesem aktuellen Datensatz aktualisieren. Die Daten sind kein vollständiges Seitenaufrufprotokoll und Visits zählt gespeicherte Datensätze statt aller Seitenaufrufe.
Die Ländererkennung verwendet zuerst den Cloudflare-Header HTTP_CF_IPCOUNTRY, dann PrestaShop GeoIP und anschließend das Länder-Cookie. Das Land kann leer sein. Die IP-Erkennung validiert REMOTE_ADDR und akzeptiert Cloudflare-Header mit der Client-IP nur bei einer direkten Verbindung von einem Cloudflare-Server. Konfigurieren Sie bei anderen Reverse-Proxys den Webserver so, dass er die Client-Adresse in REMOTE_ADDR wiederherstellt.
Kunden- und Bestellungsanzeigen
Das Modul gibt die Anzeige über displayAdminCustomers und displayAdminOrder aus. Sie erscheint nur, wenn für einen Kunden ein Datensatz gespeichert ist. Sie zeigt die neueste IP, das Land, den Browser, das Betriebssystem, die Bildschirmauflösung, sofern verfügbar, den Gerätetyp und das Datum des Datensatzes. Die Bestellungsseite zeigt den neuesten Besucherdatensatz des Kunden, der nicht unbedingt den Stand bei der Erstellung der Bestellung wiedergibt.
Bei mehreren gespeicherten IP-Adressen zeigt IP History Land, Anzahl der Datensätze, erstes Auftreten, letztes Auftreten und eine Aktion zum schnellen Sperren. Warnungen betreffen gemeinsam genutzte IPs, mehr als drei Länder, mehr als drei Gerätetypen und mehr als zehn verschiedene IPs. Betrachten Sie diese als Hinweise, nicht als automatische Sperren. Die Kunden- und Bestellungsanzeigen sind kontobasiert; reine Gastdatensätze erzeugen keine Kundenanzeige.
Überprüfen und Fehler beheben
Verwenden Sie für eine Sperre eine separate Testadresse. Prüfen Sie, ob die passende Seite HTTP 403 zurückgibt und Access Restricted mit der Regelmeldung oder der Ersatzmeldung anzeigt. Prüfen Sie bei Regeln mit begrenztem Geltungsbereich, ob eine nicht betroffene Seite erreichbar bleibt und die Deaktivierung den Zugriff wiederherstellt.
Wenn keine Besucherdaten erscheinen, prüfen Sie, ob das Modul aktiviert ist, der Erfassungs-Hook und die Anfrage vorhanden sind und der Endpunkt {"status":"ok"} zurückgibt. Verwenden Sie eine neue Browsersitzung, wenn die Sitzungsmarkierung bereits vorhanden ist. Berücksichtigen Sie die einstündige serverseitige Duplikatunterdrückung. Ein sehr kurzer Besuch kann enden, bevor die Erfassung der Bildschirmdaten ausgeführt wird.
Prüfen Sie vor dem Testen von Datenerfassung, Sperren oder Aufbewahrung die gespeicherten Werte in General Settings. Wenn eine Sperre nicht greift, prüfen Sie Active, Ablaufdatum, Shop, den Vorrang der Whitelist, die tatsächliche IP, das Land, den User-Agent und den gewählten Geltungsbereich. CIDR- und Bindestrichbereiche unterstützen IPv4. IPv6-Adressen können einzeln anhand ihres genauen Textes abgeglichen werden.
Die erste Frontoffice-Anfrage nach 24 Stunden löst die Entfernung von Datensätzen aus, die älter als die aktive Aufbewahrungsdauer sind, sofern diese positiv ist. Für diese tägliche Bereinigung richten Sie keinen System-Cronjob ein. Ohne Anfragen wartet die Bereinigung bis zum nächsten Besuch.
Deaktivieren oder deinstallieren
Setzen Sie Enable Data Collection oder Enable Visitor Banning auf Nein und speichern Sie, um Datenerfassung oder Sperren einzeln zu stoppen. Deaktivieren Sie das Modul im Modulmanager, um beides zu beenden. Setzen Sie bei einer einzelnen Regel stattdessen Active auf Nein.
Verwenden Sie Deinstallieren im Modulmanager, um das Modul zu entfernen. Die Deinstallation löscht mprvc_info, mprvc_banned und mprvc_whitelist sowie die gemeinsame Konfiguration und die Menüeinträge dieses Moduls. Bewahren Sie vorher eine Datenbanksicherung auf, wenn Sie Besucherverlauf, Sperren oder Whitelist-Daten benötigen.
Fragen
1
Wartet Visitor Control auf ein Einwilligungsbanner, bevor es Besucherdaten erfasst?
Bekannte Probleme
6
Sperrregeln für einzelne Adressen
Speichern und auf Seite bleiben
Verbesserte Sicherheit
Kompatibilität mit PHP 7.1
Durchsetzung der Händler-Sperrliste
Routing der Besuchersperrseiten
Funktionsanfragen
3
Implementiert
Sperren von IPv4-Bereichen per CIDR
Modulupdates mit einem Klick
Firewall-Abstimmung
Änderungsprotokoll
v1.0.52026-05-22
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedCertify visitor control install integrity
Ältere Versionen
v1.3.02026-04-20
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
v1.2.02026-02-09
- AddedPS 9 / Hummingbird theme compatibility
- Addeduser-agent-based blocking with wildcard pattern support
- Improvedvisitor intelligence panel with device-type and browser breakdown
- Optimized IP-country lookup using MaxMind GeoLite2 binary database for sub-millisecond queries
- Fixedcountry-block rule not applying to AJAX cart-add requests
v1.0.02025-08-12
- Initialrelease: visitor intelligence and access control for PrestaShop
- InitialReal-time visitor information: IP, device type, browser, country
- InitialIP and country block rules with redirect or 403 response
- InitialCompatible with PS 1.7.x and PS 8.x
v1.1.02025-05-12
- Addedtemporary IP ban with expiry timer
- Addedcountry allowlist mode — whitelist-only access control
- Improveddevice detection accuracy for current iOS and Android user-agent strings
Demo
Testen Sie das vollständige Modul vor dem Kauf
Kaufen Sie die Lizenz später, Ihre Einstellungen bleiben erhalten.
- Ihre 30-Tage-Demo Testen Sie es 30 Tage ab der ersten Installation in Ihrem eigenen Shop.
- Fertiger Demo-Shop Entdecken Sie einen fertigen Demo-Shop im Browser.
- Ohne Registrierung Kein Konto, keine E-Mail-Adresse und keine Shop-Domain nötig.
Mit dem Download akzeptieren Sie die Demo-Bedingungen und die Datenschutzerklärung.
Mit dem Öffnen dieser Demo akzeptieren Sie die Demo-Nutzungsbedingungen und die Datenschutzerklärung.