NinjaFirewall blockiert Warenkorb-Aktionen
NinjaFirewall beheben, wenn es die WooCommerce-Warenkorb-Anfrage für personalisierte Produkte blockiert.
NinjaFirewall (WP Edition) ist eine Web-Application-Firewall, die alle HTTP-Anfragen prüft. Es kann die WooCommerce-Warenkorb-Anfrage für personalisierte Produkte blockieren, weil die POST-Daten einen großen Base64-kodierten JSON-Payload enthalten, der die Firewall-Regeln auslöst.
Symptome
- Das Hinzufügen eines personalisierten Produkts zum WooCommerce-Warenkorb schlägt fehl oder passiert nichts.
- Nicht-personalisierte Produkte werden normal in den Warenkorb gelegt.
- Das NinjaFirewall-Protokoll zeigt blockierte Anfragen zur WooCommerce-Produktseite oder zum AJAX-Endpunkt.
- Das Problem trat nach der Installation oder Aktualisierung von NinjaFirewall auf.
Lösung
Option 1: WooCommerce-AJAX-Endpunkt zur Whitelist hinzufügen
- Gehen Sie zu NinjaFirewall → Firewall Policies im WordPress-Admin.
- Fügen Sie den WooCommerce-Warenkorb-Endpunkt zur Whitelist hinzu.
- Der Endpunkt ist typischerweise
/?wc-ajax=add_to_cartoder die URL der Produktseite.
Option 2: Regel für POST-Datengröße anpassen
- Gehen Sie zu NinjaFirewall → Firewall Policies → HTTP POST.
- Erhöhen Sie die maximale POST-Datengröße, um den großen Personalisierungs-Payload zuzulassen.
- Chamevo sendet die vollständige Produktkonfiguration als JSON-String in den Warenkorb-Formulardaten. Bei komplexen Produkten mit mehreren Ansichten und Elementen können das mehrere hundert Kilobyte sein.
Option 3: Scan auf Base64-kodierte Daten deaktivieren
- Gehen Sie zu NinjaFirewall → Firewall Policies.
- Suchen Sie nach Regeln, die Base64-kodierten Inhalt in POST-Daten scannen oder blockieren.
- Chamevo kodiert Produkt-Thumbnails als Base64-Daten-URLs im Warenkorb-Payload. Dies kann die Base64-Erkennungsregeln von NinjaFirewall auslösen.
- Passen Sie diese spezifischen Regeln an oder deaktivieren Sie sie.
Lösung überprüfen
- Leeren Sie alle Seiten-Caches.
- Öffnen Sie eine Produktseite und personalisieren Sie das Produkt.
- Klicken Sie auf „In den Warenkorb" und stellen Sie sicher, dass das Produkt erfolgreich hinzugefügt wird.
- Prüfen Sie das NinjaFirewall-Protokoll, um zu bestätigen, dass keine neuen blockierten Anfragen vorhanden sind.
Andere Sicherheits-Plugins
Ähnliche Probleme können bei anderen Sicherheits-Plugins auftreten: