From 42554bdadf0045e2676ed693ba4ab46ccf2c2ea3 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Mon, 19 Oct 2026 18:05:51 +0000 Subject: [PATCH] Upload via GUI (267 Dateien) --- DeskHub-Webseite/.htaccess | 14 + DeskHub-Webseite/forgot_password.php | 4 +- DeskHub-Webseite/login.php | 15 +- DeskHub-Webseite/tests/api_auth_header.php | 67 ++++ DeskHub-Webseite/tests/backup_page_nas.php | 184 ++++++++++ DeskHub-Webseite/tests/backup_restore.php | 27 ++ DeskHub-Webseite/tests/department_form.php | 204 ++++++++++ .../tests/fixtures/webdav_server.php | 73 ++++ DeskHub-Webseite/tests/import_upload.php | 150 ++++++++ DeskHub-Webseite/tests/installer.php | 264 +++++++++++++ .../tests/mobile_api_integration.php | 44 ++- DeskHub-Webseite/tests/plugin_nas_backup.php | 347 ++++++++++++++++++ DeskHub-Webseite/tests/plugins.php | 5 +- DeskHub-Webseite/tests/reply_signature.php | 44 +++ DeskHub-Webseite/tests/run_all.php | 3 + DeskHub-Webseite/tests/sanitize_html.php | 5 + DeskHub-Webseite/tests/ticket_departments.php | 186 ++++++++++ DeskHub-Webseite/tests/update_security.php | 6 + 18 files changed, 1629 insertions(+), 13 deletions(-) create mode 100644 DeskHub-Webseite/tests/api_auth_header.php create mode 100644 DeskHub-Webseite/tests/backup_page_nas.php create mode 100644 DeskHub-Webseite/tests/department_form.php create mode 100644 DeskHub-Webseite/tests/fixtures/webdav_server.php create mode 100644 DeskHub-Webseite/tests/import_upload.php create mode 100644 DeskHub-Webseite/tests/installer.php create mode 100644 DeskHub-Webseite/tests/plugin_nas_backup.php create mode 100644 DeskHub-Webseite/tests/reply_signature.php create mode 100644 DeskHub-Webseite/tests/ticket_departments.php diff --git a/DeskHub-Webseite/.htaccess b/DeskHub-Webseite/.htaccess index d16f3425..ed301e59 100644 --- a/DeskHub-Webseite/.htaccess +++ b/DeskHub-Webseite/.htaccess @@ -20,6 +20,20 @@ Header always set X-Content-Type-Options "nosniff" # Funktioniert mit Apache (mod_rewrite/mod_authz aktiv). Bei nginx siehe README.md. RewriteEngine On + +# Den Header "Authorization" (Anmeldung der Windows- und Android-App) an PHP weiterreichen. Ohne diese Regeln entfernen Apache mit +# PHP-FPM/FastCGI (z. B. Plesk) ihn, und die Apps melden "Ein gültiges Bearer-Token ist erforderlich". +RewriteCond %{HTTP:Authorization} . +RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 + + + = 2.4.13> + CGIPassAuth On + + + RewriteCond %{REQUEST_URI} ^/(includes|config|database|cron)/ [NC] RewriteRule ^ - [F,L] diff --git a/DeskHub-Webseite/forgot_password.php b/DeskHub-Webseite/forgot_password.php index e55c2d77..28fae039 100644 --- a/DeskHub-Webseite/forgot_password.php +++ b/DeskHub-Webseite/forgot_password.php @@ -20,7 +20,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Gleiche Fehlermeldung – verrät nicht ob die E-Mail bekannt ist $errors[] = 'Zu viele Anfragen. Bitte versuchen Sie es in einigen Minuten erneut.'; } else { - $stmt = get_db()->prepare('SELECT * FROM users WHERE email = ?'); + $stmt = get_db()->prepare('SELECT * FROM users WHERE LOWER(email) = LOWER(?)'); $stmt->execute([$email]); $user = $stmt->fetch(); @@ -57,7 +57,7 @@ require __DIR__ . '/includes/header_customer.php';
- +
diff --git a/DeskHub-Webseite/login.php b/DeskHub-Webseite/login.php index 5831080c..48be92aa 100644 --- a/DeskHub-Webseite/login.php +++ b/DeskHub-Webseite/login.php @@ -12,14 +12,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!rate_limit_check('login_attempt', client_ip(), 10, 15)) { $errors[] = 'Zu viele Anmeldeversuche. Bitte versuchen Sie es in einigen Minuten erneut.'; - } elseif ($email && !rate_limit_check('login_email', $email, 5, 15)) { + } elseif ($email && !rate_limit_check('login_email', strtolower($email), 5, 15)) { $errors[] = 'Zu viele Anmeldeversuche für dieses Konto. Bitte warten Sie einige Minuten.'; } else { - $stmt = get_db()->prepare('SELECT * FROM users WHERE email = ?'); + $stmt = get_db()->prepare('SELECT * FROM users WHERE LOWER(email) = LOWER(?)'); $stmt->execute([$email]); $user = $stmt->fetch(); if ($user && password_verify($pass, $user['password_hash'])) { - rate_limit_reset('login_email', $email); + rate_limit_reset('login_email', strtolower($email)); customer_login($user); redirect('/home.php'); } @@ -53,8 +53,7 @@ $imprintHtml = get_setting('footer_imprint_html', ''); - - +