&e=. Das Plugin braucht die * Berechtigung "auth.customer" und meldet die Adresse mit plugin_register_customer_login() an. Hier steht nur, was für alle gleich ist: * Weiterleitung, Anmeldung (und, wenn das Plugin es erlaubt, Anlegen des Kundenkontos), Fehler und Begrenzung der Aufrufe. * Die Rückkehr vom Dienst kann auch über staff/plugin_login.php kommen (gleiche Rückkehr-Adresse für alle). */ require_once __DIR__ . '/includes/bootstrap.php'; header('Cache-Control: no-store'); header('Referrer-Policy: no-referrer'); function plugin_customer_login_back(string $message): never { flash('error', $message); redirect('/login.php'); } if (current_user()) redirect('/home.php'); $slug = (string) ($_GET['p'] ?? ''); $endpoint = (string) ($_GET['e'] ?? ''); $handler = plugin_state()['customer_logins'][$slug][$endpoint] ?? null; if (!is_callable($handler)) { http_response_code(404); echo 'Unbekannte Anmelde-Adresse.'; exit; } if (!rate_limit_check('plugin_customer_login', client_ip(), 40, 15)) plugin_customer_login_back('Zu viele Anmeldeversuche. Bitte versuchen Sie es in einigen Minuten erneut.'); $result = plugin_guard($slug, fn() => $handler(['query' => $_GET, 'ip' => client_ip()]), null); if (!is_array($result)) plugin_customer_login_back('Die Anmeldung ist gerade nicht möglich. Bitte versuchen Sie es später noch einmal oder melden Sie sich mit E-Mail und Passwort an.'); if (!empty($result['redirect'])) { $url = (string) $result['redirect']; if (!plugin_login_external_url_ok($url)) plugin_customer_login_back('Die Adresse des Anmeldedienstes ist ungültig.'); header('Location: ' . $url, true, 302); exit; } if (!empty($result['customer']) && is_array($result['customer'])) plugin_customer_login_finish($slug, $result['customer']); plugin_customer_login_back(mb_substr((string) ($result['error'] ?? 'Die Anmeldung wurde abgelehnt.'), 0, 300));