Browse code

Bug gefixed, durch den beim Certlogin ein / vor der URL hinzugefügt wurde

Bernd Wurst authored on 20/08/2018 12:51:01
Showing 1 changed files
... ...
@@ -81,14 +81,14 @@ if ($_SESSION['role'] != ROLE_ANONYMOUS && isset($_REQUEST['record']) && isset($
81 81
             if (isset($_REQUEST['destination']) && check_path($_REQUEST['destination'])) {
82 82
                 $destination = $_REQUEST['destination'];
83 83
             }
84
-            header('Location: ../'.$destination);
84
+            header('Location: ../'.ltrim($destination, '/'));
85 85
             die();
86 86
         }
87 87
     }
88 88
     system_failure('Der angegebene Account kann mit diesem Client-Zertifikat nicht eingeloggt werden.');
89 89
 } elseif ($_SESSION['role'] != ROLE_ANONYMOUS && isset($_REQUEST['destination']) && $_REQUEST['destination'] != '') {
90 90
     # User hat sich grade eingeloggt
91
-    header('Location: ../'.$destination);
91
+    header('Location: ../'.ltrim($destination, '/'));
92 92
 } else {
93 93
     if (isset($_SERVER[$redirect.'SSL_CLIENT_CERT']) &&
94 94
       isset($_SERVER[$redirect.'SSL_CLIENT_S_DN']) && $_SERVER[$redirect.'SSL_CLIENT_S_DN'] != '' &&
... ...
@@ -111,7 +111,7 @@ if ($_SESSION['role'] != ROLE_ANONYMOUS && isset($_REQUEST['record']) && isset($
111 111
             if (isset($_REQUEST['destination']) && check_path($_REQUEST['destination'])) {
112 112
                 $destination = $_REQUEST['destination'];
113 113
             }
114
-            header('Location: ../'.$destination);
114
+            header('Location: ../'.ltrim($destination, '/'));
115 115
             die();
116 116
         }
117 117
         output('<p>Ihr Browser hat ein gültiges SSL-Client-Zertifikat gesendet, mit dem Sie sich auf dieser Seite einloggen können. Allerdings haben Sie dieses Client-Zertifikat für mehrere Zugänge hinterlegt. Wählen Sie bitte den Zugang aus, mit dem Sie sich anmelden möchten.</p>