ALTCHA: Installation
ALTCHA Spam-Schutz für Shopware 6.7 - Installation über Store oder Composer, Hinweise beim Update von einem älteren Release (Cache, HTTP-Cache, Einstellungen), Scheduled Tasks, Deinstallation
ALTCHA Spam-Schutz: Installation
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Voraussetzungen
Shopware ~6.7.0, PHP >=8.2 und eine gesetzte Umgebungsvariable APP_SECRET. Das Plugin bringt die ALTCHA-PHP-Bibliothek als Quellcode mit, ein vendor/-Verzeichnis für sie ist nicht nötig.
Installation
Via Shopware Store (empfohlen)
- Plugin im Shopware Store erwerben
- Im Shopware Admin unter Erweiterungen > Meine Erweiterungen installieren und aktivieren
- Cache leeren
Via Composer
1. Privates Repository hinzufügen in der composer.json des Shops:
{
"repositories": [
{
"type": "composer",
"url": "https://packeton.markus-michalski.net"
}
]
}
Die Zugangsdaten zum Repository erhältst du nach dem Lizenzkauf. Das Repository wird über Packeton verwaltet.
2. Plugin installieren
composer require mmd/sw67-altcha-integration
Bei der Abfrage nach Zugangsdaten gibst du die mit der Lizenz bereitgestellten Daten ein.
3. Plugin aktivieren
bin/console plugin:refresh
bin/console plugin:install --activate MmdAltchaIntegration
bin/console cache:clear
Nach der Aktivierung
- Beim Aktivieren schaltet das Plugin alle aktiven Captchas der nativen Shopware-Konfiguration ab (Systemschlüssel
core.basicInformation.activeCaptchasV2) und sichert deren Zustand. Beim Deaktivieren stellt es ihn wieder her. - Bei Installation und bei jedem Update schreibt das Plugin die Standardwerte der Schalter in die Systemkonfiguration, sofern sie noch nicht gesetzt sind. So bleiben "nicht gesetzt" und "aus" unterscheidbar.
- Die Einstellungen findest du unter Erweiterungen > Meine Erweiterungen > ALTCHA Spam-Schutz, siehe Konfiguration.
Update
composer update mmd/sw67-altcha-integration
bin/console plugin:update MmdAltchaIntegration
bin/console cache:clear
Bei einer Installation über den Store aktualisierst du die Erweiterung unter Erweiterungen > Meine Erweiterungen.
Wenn du von einem älteren Release aktualisierst
Beim Update von einem älteren Release gilt Folgendes:
- Leere nach dem Update den Cache, auch HTTP-Cache, Varnish und CDN. Zwischengespeicherte Seiten enthalten sonst noch das alte Widget-Markup, einen Fallback auf das alte Protokoll gibt es nicht.
- Lade Formularseiten, die vor dem Update geöffnet waren, einmal neu.
- Die Einstellung "Max Number" gibt es nicht mehr. Beim Update löscht das Plugin den gespeicherten Wert (
altchaMaxNumber), er wird nicht umgerechnet. - Challenge-Kosten und Challenge-Schwierigkeit starten bei je 2000. Das Lösen kostet spürbar CPU-Zeit im Browser des Besuchers und wächst mit der Kosten-Einstellung. Für mehr Schutz erhöhst du die Werte selbst.
- Das Widget-Markup lautet
<altcha-widget challenge="...">. Die Widget-Texte kommen aus dem mitgelieferten Sprachpaket, ein eigenesstrings-Attribut wird nicht ausgewertet. - Die Inhaltsvalidierung ist veraltet und wird übersprungen, sobald Gibberish-Erkennung oder Wegwerf-E-Mail-Prüfung aktiv ist, siehe Konfiguration.
- Überschreibt dein Theme eines der drei Formular-Templates oder deren Captcha-Block, muss das Override das aktuelle Widget-Markup verwenden und
{{ parent() }}aufrufen. Fehlt das Widget, lehnt der Shop die Absendung ab, solange ALTCHA aktiv ist. Details stehen unter Storefront-Integration. - Themes, die das Widget per CSS gestalten, solltest du nach dem Update prüfen.
Scheduled Tasks
| Task | Intervall | Beschreibung |
|---|---|---|
mmd_altcha.rate_limit_cleanup |
alle 6 Stunden | Löscht Rate-Limit-Einträge, die älter als 24 Stunden sind, und abgelaufene benutzte Challenges |
mmd_altcha.disposable_domains_refresh |
wöchentlich | Aktualisiert die Wegwerf-Domain-Liste aus der öffentlichen Quelle. Läuft nur, wenn die Wegwerf-E-Mail-Prüfung global aktiv ist |
Beide Tasks laufen über die Shopware Message Queue:
bin/console messenger:consume scheduled_task
Manueller Lauf eines Tasks:
bin/console scheduled-task:run mmd_altcha.rate_limit_cleanup
Die Liste aktualisierst du auch von Hand, zum Beispiel wenn die Prüfung nur für einen Verkaufskanal aktiv ist:
bin/console mmd:altcha:update-disposable-domains
Deinstallation
Beim Deinstallieren ohne die Option "Daten behalten" entfernt das Plugin:
- die Tabellen
mmd_altcha_used_challengeundmmd_altcha_rate_limit_log - alle Konfigurationswerte (
MmdAltchaIntegration.config.*) - beide Scheduled-Task-Einträge
Mit der Option "Daten behalten" bleiben Konfiguration und Tabellen erhalten. Die aktualisierte Domain-Liste unter var/mmd_altcha/ entfernt das Plugin nicht.