]> git.joonet.de Git - adminer.git/commitdiff
Trust user-supplied token with login
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 20 Nov 2009 17:29:35 +0000 (17:29 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 20 Nov 2009 17:29:35 +0000 (17:29 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1248 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/include/auth.inc.php

index 678e8b1a9fdf2eba5af13ca8db30b45edc2b53f2..6049ac8cd218a134dae6b8d246ba814fa3c74b1b 100644 (file)
@@ -48,13 +48,6 @@ function auth_error($exception = null) {
        page_footer("auth");
 }
 
-if (!$_SESSION["tokens"][$_GET["server"]]) {
-       $_SESSION["tokens"][$_GET["server"]] = rand(1, 1e6); // defense against cross-site request forgery
-       if ($_POST["token"]) {
-               $_POST["token"] = $_SESSION["tokens"][$_GET["server"]];
-       }
-}
-
 $username = &$_SESSION["usernames"][$_GET["server"]];
 if (!isset($username)) {
        $username = $_GET["username"]; // default username can be passed in URL
@@ -65,3 +58,7 @@ if (is_string($connection) || !$adminer->login($username, $_SESSION["passwords"]
        exit;
 }
 unset($username);
+
+if (!$_SESSION["tokens"][$_GET["server"]]) {
+       $_SESSION["tokens"][$_GET["server"]] = (isset($_POST["server"]) && $_POST["token"] ? $_POST["token"] : rand(1, 1e6)); // defense against cross-site request forgery
+}