]> git.joonet.de Git - adminer.git/commitdiff
Require specifying credentials in login-sqlite plugin
authorJakub Vrana <jakub@vrana.cz>
Tue, 16 Jan 2018 15:37:59 +0000 (16:37 +0100)
committerJakub Vrana <jakub@vrana.cz>
Tue, 16 Jan 2018 15:37:59 +0000 (16:37 +0100)
adminer/sqlite.php
plugins/login-sqlite.php

index b7463361233390cff7fb15c9484db7a1b01557f3..5f6f219c0b510e3aa69514bc4c36dbc6d13237ec 100644 (file)
@@ -2,7 +2,7 @@
 function adminer_object() {
        include_once "../plugins/plugin.php";
        include_once "../plugins/login-sqlite.php";
-       return new AdminerPlugin(array(new AdminerLoginSqlite));
+       return new AdminerPlugin(array(new AdminerLoginSqlite("admin", password_hash("", PASSWORD_DEFAULT))));
 }
 
 include "./index.php";
index 245605dd6dc8c04317125803d19673923aeea138..d3adae5c5ce0b364a88ebbbc7c81dde404c3276c 100644 (file)
@@ -1,36 +1,29 @@
 <?php
 
-/** Enable auto-login for SQLite
+/** Enable login for SQLite
 * @link https://www.adminer.org/plugins/#use
 * @author Jakub Vrana, https://www.vrana.cz/
 * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
 * @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
 */
 class AdminerLoginSqlite {
-
-       function login($login, $password) {
-               return true;
-       }
-
-       function loginForm() {
-               ?>
-<script<?php echo nonce(); ?>>
-addEventListener('load', function () {
-       var driver = qs('name="auth[driver]"');
-       if (isTag(driver, 'select')) {
-               driver.onchange = function () {
-                       var trs = parentTag(driver, 'table').rows;
-                       for (var i=1; i < trs.length - 1; i++) {
-                               var disabled = /sqlite/.test(driver.value);
-                               alterClass(trs[i], 'hidden', disabled);
-                               trs[i].querySelector('input').disabled = disabled;
-                       }
-               };
+       var $login;
+       var $password_hash;
+       
+       /** 
+       * @param string
+       * @param string result of password_hash
+       */
+       function AdminerLoginSqlite($login, $password_hash) {
+               $this->login = $login;
+               $this->password_hash = $password_hash;
        }
-       driver.onchange();
-});
-</script>
-<?php
+       
+       function login($login, $password) {
+               if (DRIVER != "sqlite" && DRIVER != "sqlite2") {
+                       return true;
+               }
+               return $this->login == $login && password_verify($password, $this->password_hash);
        }
 
 }