Lizenzkey Generator

Dieser Commit ist enthalten in:
2025-06-07 22:58:11 +02:00
Ursprung b0c8e8efc0
Commit 0379391736
6 geänderte Dateien mit 281 neuen und 5 gelöschten Zeilen

Datei anzeigen

@@ -896,4 +896,71 @@ Die Session-Daten werden erst gefüllt, wenn der License Server API implementier
- Code ist vollständig implementiert und getestet
- CAPTCHA wird nach 2 Fehlversuchen angezeigt
- Ohne konfigurierte Keys wird CAPTCHA-Prüfung übersprungen
- Für Produktion müssen nur die Keys in .env eingetragen werden
- Für Produktion müssen nur die Keys in .env eingetragen werden
### 2025-06-07 - License Key Generator implementiert
- Automatische Generierung von Lizenzschlüsseln mit definiertem Format
**Implementiertes Format:**
`AF-YYYYMMFT-XXXX-YYYY-ZZZZ`
- **AF** = Account Factory (feste Produktkennung)
- **YYYY** = Jahr (z.B. 2025)
- **MM** = Monat (z.B. 06)
- **FT** = Lizenztyp (F=Fullversion, T=Testversion)
- **XXXX-YYYY-ZZZZ** = Zufällige alphanumerische Zeichen (ohne verwirrende wie 0/O, 1/I/l)
**Beispiele:**
- Vollversion: `AF-202506F-A7K9-M3P2-X8R4`
- Testversion: `AF-202512T-B2N5-K8L3-Q9W7`
**Implementierte Features:**
1. **Backend-Funktionen (app.py):**
- `generate_license_key()` - Generiert Keys mit kryptografisch sicherem Zufallsgenerator
- `validate_license_key()` - Validiert das Key-Format mit Regex
- Verwendet `secrets` statt `random` für Sicherheit
- Erlaubte Zeichen: ABCDEFGHJKLMNPQRSTUVWXYZ23456789 (ohne verwirrende)
2. **API-Endpoint:**
- POST `/api/generate-license-key` - JSON API für Key-Generierung
- Prüft auf Duplikate in der Datenbank (max. 10 Versuche)
- Audit-Log-Eintrag bei jeder Generierung
- Login-Required geschützt
3. **Frontend-Verbesserungen (index.html):**
- Generate-Button neben License Key Input
- Placeholder und Pattern-Attribut für Format-Hinweis
- Auto-Uppercase bei manueller Eingabe
- Visuelles Feedback bei erfolgreicher Generierung
- Format-Hinweis unter dem Eingabefeld
4. **JavaScript-Features:**
- AJAX-basierte Key-Generierung ohne Seiten-Reload
- Automatische Prüfung bei Lizenztyp-Änderung
- Ladeindikator während der Generierung
- Fehlerbehandlung mit Benutzer-Feedback
- Standard-Datum-Einstellungen (heute + 1 Jahr)
5. **Validierung:**
- Server-seitige Format-Validierung beim Speichern
- Flash-Message bei ungültigem Format
- Automatische Großschreibung des Keys
- Pattern-Validierung im HTML-Formular
6. **Weitere Fixes:**
- Form Action von "/" auf "/create" korrigiert
- Flash-Messages mit Bootstrap Toasts implementiert
- GENERATE_KEY Aktion zum Audit-Log hinzugefügt (Farbe: #20c997)
**Technische Details:**
- Keine vorhersagbaren Muster durch `secrets.choice()`
- Datum im Key zeigt Erstellungszeitpunkt
- Lizenztyp direkt im Key erkennbar
- Kollisionsprüfung gegen Datenbank
**Status:**
- ✅ Backend-Generierung vollständig implementiert
- ✅ Frontend mit Generate-Button und JavaScript
- ✅ Validierung und Fehlerbehandlung
- ✅ Audit-Log-Integration
- ✅ Form-Action-Bug behoben