Просмотр исходного кода

Preventing admin to do loginas action without token

Anton Reutov 4 лет назад
Родитель
Сommit
1ff5208968
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      web/login/index.php

+ 7 - 0
web/login/index.php

@@ -16,6 +16,13 @@ if (isset($_GET['logout'])) {
 
 // Login as someone else
 if (isset($_SESSION['user'])) {
+    if ((!isset($_GET['token'])) || ($_SESSION['token'] != $_GET['token'])) {
+        session_destroy();
+        session_start();
+        header('Location: /login/');
+        exit();
+    }
+    
     if ($_SESSION['user'] == 'admin' && !empty($_GET['loginas'])) {
         exec (VESTA_CMD . "v-list-user ".escapeshellarg($_GET['loginas'])." json", $output, $return_var);
         if ( $return_var == 0 ) {