Zum Inhalt

Modul: BiPRO-Integration

Stand

Code-Analyse vom 2026-04-22 gegen sachpool.de, WebEdition 9.2.3, PHP 8.3.

Im Aufbau

Der Ordner sachpool-portal/BiPro/ enthält erst zwei Templates und ist Anfang 2026 in aktiver Entwicklung (ModDates März/September 2025 und April 2026). Die Doku wird weiter ausgebaut, sobald die Integration stabilisiert ist.

Zweck

BiPRO (Brancheninstitut für Prozessoptimierung) ist der Standard für Schnittstellen in der deutschen Versicherungsbranche. Ziel der Sachpool-BiPRO- Integration: externe Partner sollen sich per standardkonformem BiPRO-Aufruf direkt im Sachpool-Portal einloggen und auf spezifische Inhalte (z. B. einen Vertrag per VSNR, einen Kunden per KFZ-Kennzeichen) tief einsteigen können.

Aktuelle Komponenten

BiPro/entry.tmpl (ID 303) — Login-Endpoint

Zweck: Nimmt BiPRO-Credentials per GET/POST entgegen und legt eine vollwertige WebEdition-Login-Session an. Ziel: Deeplinks von externen Partnern ins Portal.

Parameter: - username bzw. vtnr — Vermittlernummer - bipro_password bzw. passwort — BiPRO-spezifisches Passwort - redirect — Ziel-URL nach Login (Default /_login/)

Flow: 1. Pflicht-Parameter-Check (fehlen → HTTP 400) 2. redirect muss mit / beginnen — simple Open-Redirect-Prävention 3. SQL-Escape ($db->escape()) auf beide Parameter 4. Lookup: SELECT … FROM tblWebUser WHERE Username = … AND PasswortVRBiPRO = … LIMIT 1 5. Prüfung LoginDenied-Flag → HTTP 403 bei Sperre 6. Neue Session mit we_base_sessionHandler (wichtig: Handler vor session_start() setzen, sonst landet die Session nicht in tblSessions) 7. $_SESSION['webuser'] mit allen Kundendaten befüllen 8. UPDATE tblWebUser SET LastLogin_Date = NOW() 9. header('Location: …') → Weiterleitung

Sicherheit: - SQL-Injection: ✓ geschützt (escape) - Open Redirect: ✓ teilweise geschützt (muss mit / beginnen) - CSRF: ✗ kein Token - Rate-Limit: ✗ nicht implementiert - Credentials im GET: ⚠️ Akzeptiert — landen in Server-Logs und Browser-History

BiPro/auto-login.tmpl (ID 304) — Unklarer Prototyp

Sehr kurzes Template mit hartcodierten Credentials:

$_REQUEST['s']['Password'] = "002";
$_REQUEST['s']['Username'] = "daU8R4hN!";

→ Vermutlich ein Test-Stub oder Platzhalter. Zweck unklar. Siehe interne Datei HANDLUNGSEMPFEHLUNGEN.md (Repo-Root).

Zusammenspiel mit bestehenden Modulen

Die Vertragsauskunft-Suchmaske (searchmask.tmpl, ID 153) hat bereits eine BiPRO-Weiche:

if (isset($_GET['frombipro']) && $_GET['frombipro'] == 'true') {
    // Auto-Switch auf Person- oder Vertrag-Suche
    // abhängig davon ob VSNR/KFZKZ gesetzt ist
}

→ So kann ein Partner-Deeplink direkt in die Suchergebnisseite springen, ohne dass der Vermittler die Suchmaske manuell bedienen muss.

Offene Punkte

→ interne Datei OFFENE-FRAGEN.md im Repo-Root

  • BiPRO-Normen, die konkret umgesetzt werden (430, 410, …)?
  • OAuth2-Alternative zum BiPRO-Passwort-Lookup?
  • Rate-Limit und CSRF-Token-Strategie?
  • Zweck von auto-login.tmpl?

Siehe auch