Commit graph

2 commits

Author SHA1 Message Date
8930d7804a fix: Audit-Findings — en_US-Parity, LIKE-Escape, Rate-Limit [deploy]
All checks were successful
Deploy Eplan / deploy (push) Successful in 9s
Aus /dolibarr audit Report:
- en_US: 5 fehlende Tab-/Placeholder-Keys ergänzt (Parity 100%)
- LIKE-Wildcard-Escape: %, _ und \\ im User-Input werden maskiert bevor
  in LIKE '%..%'-Pattern eingebaut (sonst matched "100%" zu viel)
  Betrifft auftraege_listen (Z.75-77) und kunden_suchen (Z.124)
- Rate-Limit: File-basiert nach KB #354 — max. 10 fehlgeschlagene Token-
  Checks pro IP in 15 Minuten, dann 429. Bei Erfolg wird Zähler resettet.
  Zähler liegen unter DOL_DATA_ROOT/eplan/loginattempts/<sha1(ip)>.json

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 11:58:14 +02:00
593c93f377 feat: PWA-Token-Auth statt Dolibarr-REST-API-Key [deploy]
All checks were successful
Deploy Eplan / deploy (push) Successful in 9s
Das ElektroPlan-Backend spricht nicht mehr die Dolibarr-REST-API an
(API-Key-Flow kaputt, REST-Modul nicht zuverlässig), sondern einen
eigenen NOLOGIN-Endpoint im Eplan-Modul.

- ajax/pwa_api.php: NOLOGIN-Endpoint, Auth via X-Eplan-Token-Header
  gegen EPLAN_PWA_SECRET (hash_equals, timing-safe)
  Actions: ping, auftraege_listen, auftrag_details, kunden_suchen,
  dokument_upload (multipart POST)
- lib/eplan_token.lib.php: Lazy-init Token, Rotation, Verifikation
- admin/setup.php: Token-Feld (readonly, anklickbar zum Markieren),
  Endpoint-URL zum Kopieren, Button "Neuen Token erzeugen"
- de/en-Sprachdateien: EplanApiToken* Keys

Muster aus KB #354 (Bericht/Baustelle-PWA).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 11:02:27 +02:00