Der BX TOTP Authenticator ist ein umfassendes Zwei-Faktor-Authentifizierungs-Modul (2FA) für das modified eCommerce System. Es bietet Kunden eine sichere Möglichkeit, ihre Konten mit zeitgesteuerten Einmalpasswörtern (TOTP) oder Email-basierter Authentifizierung zu schützen.
Das Modul wurde mit KI-Unterstützung (CADDY - Computer-Aided Development & Deployment Yield) entwickelt.
-
TOTP (Time-based One-Time Password)
- Kompatibel mit gängigen Authenticator-Apps (Google Authenticator, Authy, Microsoft Authenticator, etc.)
- QR-Code-basierte Einrichtung für einfache Konfiguration
- Zeitbasierte 6-stellige Codes (30-Sekunden-Fenster)
- Empfohlene Methode für höchste Sicherheit
-
Email-basierte 2FA
- Sichere Einmalcodes per E-Mail
- Alternative für Benutzer ohne Authenticator-App
- Benutzerfreundliche Fallback-Option
Das Admin-Panel (admin/bx_totp_authenticator.php) bietet:
-
Aktivierungsstatistiken
- Prozentuale Aktivierungsrate der 2FA
- Absolute Zahlen aktivierter Kunden
- Verteilung nach Authentifizierungsmethode
-
Systemstatus-Überwachung
- Verfügbarkeit der Dependency Resolver Klasse
- QR-Code-Bibliothek Status
- TOTP Helper Klasse Status
- Datenbanktabellen-Überprüfung
-
Kunden-Management
- Liste aller registrierten Kunden mit 2FA-Status
- Filterung nach Authentifizierungsmethode
- Suchfunktion
- Notfall-Deaktivierung (Emergency Disable)
-
Support & Dokumentation
- Quick-Start Guide
- Troubleshooting-Hilfen
- Kundenanleitungen
- modified eCommerce Shop
- PHP 5.6+ (empfohlen: PHP 7.0+)
- MySQL/MariaDB Datenbank
- Abhängigkeitsauflöser (bx_dependency_resolver.php)
- QR-Code-Bibliothek (modified_qrcode)
Das Modul benötigt folgende Tabelle:
-- Speichert Einmalcodes für Email-basierte 2FA
CREATE TABLE IF NOT EXISTS `two_factor_email_codes` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`customers_id` INT NOT NULL,
`code` VARCHAR(6) NOT NULL,
`expires_at` DATETIME NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);Folgende Felder müssen optional in der customers Tabelle vorhanden sein:
two_factor_enabled(TINYINT, Default: 0)two_factor_method(VARCHAR, z.B. 'totp', 'email')two_factor_totp_secret(VARCHAR, für TOTP-Secrets)two_factor_backup_codes(TEXT, für Backup-Codes)two_factor_secret_created(DATETIME, Erstellungsdatum)
admin/bx_totp_authenticator.php # Admin-Interface
admin/includes/classes/bx_totp_helper.php # TOTP-Logik & Hilfsfunktionen
catalog/includes/classes/bx_totp_helper.php # Frontend-TOTP-Klasse (Optional)
-
Zugriff auf Admin-Panel:
- Navigieren Sie zu:
admin/bx_totp_authenticator.php - Das Modul wird angezeigt im Admin-Menü unter "Konfiguration" oder "Sicherheit"
- Navigieren Sie zu:
-
Dashboard ansehen:
- Tab "📊 Dashboard" zeigt Aktivierungsstatistiken
- Überwachen Sie die 2FA-Adoption Ihrer Kunden
-
Kunden verwalten:
- Tab "🧑💼 Kunden" für vollständige Liste der Kunden mit 2FA
- Filtern nach Authentifizierungsmethode (TOTP/Email/Alle)
- Kundennamen oder -Email durchsuchen
-
Notfall-Support:
- Tab "🛠️ Support" für Notfall-Deaktivierung
- Hilfreiche Dokumentation und Troubleshooting
- Kunden-Onboarding Tipps
Das Frontend-Modul ermöglicht Kunden:
-
TOTP aktivieren:
- QR-Code mit Authenticator-App scannen
- Oder Secret manuell eingeben
- Verify-Code zur Bestätigung eingeben
-
Backup-Codes generieren:
- Notfalls ohne Authenticator einloggen
-
2FA Management:
- Seite "Mein Konto" → "Sicherheit" oder ähnlich
- Aktivieren/Deaktivieren nach Bedarf
- Authentifizierungsmethode wechseln
Dies ist die Hauptklasse für TOTP-Verwaltung:
// Beispiel-Methoden (Pseudocode)
bx_totp_helper::generateSecret() // Neues TOTP-Secret generieren
bx_totp_helper::verifyCode($secret, $code) // Code-Validierung
bx_totp_helper::generateQRCode($secret, $email) // QR-Code erstellen
bx_totp_helper::generateBackupCodes() // Backup-Codes generierenErmöglicht Administratoren, 2FA für Kunden zu deaktivieren:
POST /admin/bx_totp_authenticator.php
Daten:
- action: 'emergency_disable_2fa'
- customer_id: <Kundennummer>Effekt:
- Deaktiviert 2FA für den Kunden
- Löscht TOTP-Secret
- Löscht Backup-Codes
- Löscht Email-Codes
- Sendet Bestätigung an Kundenmail
- ✅ TOTP RFC 6238 Standards-konform
- ✅ AES-256 Verschlüsselung (falls konfiguriert)
- ✅ Zeitfenster-basierte Code-Validierung
- ✅ Backup-Codes für Notfallzugriff
- ✅ Sitzungs-basierte Code-Verifikation
- ✅ Logging of all 2FA events
- ✅ Schutz vor Brute-Force-Angriffen
Alle Texte sind über Sprachdefinitionen verfügbar:
MODULE_BX_TOTP_TITLE // Modul-Titel
MODULE_BX_TOTP_VERSION // Versionsnummer
MODULE_BX_TOTP_DESC // Modul-Beschreibung
TEXT_BX_TOTP_TAB_DASHBOARD // Tab-Namen
TEXT_BX_TOTP_TAB_CUSTOMERS
TEXT_BX_TOTP_TAB_SUPPORT
TEXT_BX_TOTP_ACTIVATION_RATE // Status-Texte
TEXT_BX_TOTP_CUSTOMERS_USE_2FAProblem: "QR-Code Library not available"
- Lösung: Installieren Sie das QR-Code-Paket über Composer oder Manual Upload
- Überprüfen Sie bx_dependency_resolver.php Verfügbarkeit
Problem: "Dependency Resolver nicht verfügbar"
- Lösung: Prüfen Sie
includes/classes/bx_dependency_resolver.phpExistenz - Aktualisieren Sie das modified Framework
Problem: Authentifizierung schlägt fehl
- Überprüfen Sie Systemzeit auf Server & Client
- Verifizieren Sie Zeitzonen-Konfiguration
- Prüfen Sie Datenbanktabellen auf Korrektheit
Problem: "two_factor_email_codes Tabelle nicht gefunden"
- Führen Sie das Installations-SQL aus
- Prüfen Sie Datenbankberechtigungen
pre_2fa_verification- Vor Code-Validierungpost_2fa_verification- Nach Code-Validierungon_2fa_enabled- Wenn 2FA aktiviert wirdon_2fa_disabled- Wenn 2FA deaktiviert wird
Entwickler können neue Methoden hinzufügen, indem sie:
- Die
bx_totp_helperKlasse erweitern - Neue Verifizierungs-Methoden implementieren
- Dashboard-Statistiken aktualisieren
// Alle aktivierten Kunden
$query = "SELECT * FROM " . TABLE_CUSTOMERS . " WHERE two_factor_enabled = 1";
// Nach Methode filtern
$query .= " AND two_factor_method = 'totp'";
// Nach Email
$query .= " WHERE customers_email_address LIKE '%@example.com'";GNU General Public License (GPL)
Basierend auf:
- osCommerce (2000-2003)
- nextcommerce
- XT-Commerce
- modified eCommerce
Entwickelt mit: CADDY - Computer-Aided Development & Deployment Yield (KI-Unterstützung)
Ursprung: modified-shop.org Community
Support-Kontakt:
- Offizielle Website: http://www.modified-shop.org
- Community-Forum
- Initiale Release
- TOTP & Email 2FA Methoden
- Admin-Dashboard mit Statistiken
- Notfall-Deaktivierung für Support
- QR-Code Integration
- Kunden-Verwaltungs-Interface
- QR-Code-Generierung wird gecachet
- Datenbank-Indexes auf
customers_idempfohlen - Bei >10.000 Kunden: Pagination implementieren
- RegelmäßigeMail-Code Cleanup mittels Cron-Job
- Immer HTTPS verwenden - Besonders bei 2FA-Setup
- Regelmäßige Backups - Kundeneinstellungen sind wichtig
- Alte Codes entfernen - Implementieren Sie automatisches Cleanup
- Logging aktivieren - Für Audit-Trail
- Rate Limiting - Verhindern Sie Code-Brute-Force
- Sichere Secrets - Speichern Sie verschlüsselt in der DB
- HTTPS-only Cookies - Für Session-Security
Hinweis: Dieses Modul erfordert korrekte Installation und Konfiguration für optimale Sicherheit. Für eine produktive Umgebung stellen Sie sicher, dass alle Systemanforderungen erfüllt sind.