summaryrefslogtreecommitdiff
path: root/login.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2017-06-28 12:32:48 +0300
committerAndrew Dolgov <[email protected]>2017-06-28 12:32:48 +0300
commit9f4927825bb5efeefdff9a2aac05c5b3200f5ef6 (patch)
treef7782cb57127c68bfd5c67fb0d90c725eb8f0e68 /login.php
parent4496d4a5e1f3ddb5fd0b3a0315f12c207e7c9041 (diff)
move to internal user management because it's impossible to implement
proper transparent offline mode with http auth (worker is incapable of authenticating properly) MIGRATION: 1. disable HTTP authentication (this is important!) 2. add two new tables to db/scratch.db (sessions & users) 3. create users via useradm.php (same names and passwords, previous data is kept)
Diffstat (limited to 'login.php')
-rw-r--r--login.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/login.php b/login.php
new file mode 100644
index 0000000..e54d989
--- /dev/null
+++ b/login.php
@@ -0,0 +1,73 @@
+<?php
+ require_once "config.php";
+ require_once "sessions.php";
+
+ @$op = $_REQUEST["op"];
+
+ if ($op == "perform-login") {
+ $user = SQLite3::escapeString($_REQUEST["user"]);
+ $password = SQLite3::escapeString('SHA256:' . hash('sha256', "$user:" . $_REQUEST["password"]));
+
+ $dbh = Db::get();
+
+ $res = $dbh->query("SELECT id FROM epube_users WHERE user = '$user' AND pass = '$password'");
+
+ if ($line = $res->fetchArray(SQLITE3_ASSOC)) {
+ $_SESSION["owner"] = $user;
+ header("Location: index.php");
+ }
+ }
+
+?>
+<!DOCTYPE html>
+<html>
+<head>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link href="lib/bootstrap/v3/css/bootstrap.min.css" rel="stylesheet" media="screen">
+ <link href="lib/bootstrap/v3/css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
+ <link href="lib/qtip2/jquery.qtip.min.css" rel="stylesheet" media="screen">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <script src="lib/bootstrap/v3/js/jquery.js"></script>
+ <script src="lib/bootstrap/v3/js/bootstrap.min.js"></script>
+ <script src="lib/holder.min.js"></script>
+ <script src="lib/localforage.min.js"></script>
+ <script src="lib/qtip2/jquery.qtip.min.js"></script>
+ <title>The Epube</title>
+ <link type="text/css" rel="stylesheet" media="screen" href="css/index.css" />
+ <link rel="shortcut icon" type="image/png" href="img/favicon.png" />
+ <link rel="icon" sizes="192x192" href="img/favicon_hires.png">
+ <link rel="manifest" href="manifest.json">
+ <meta name="mobile-web-app-capable" content="yes">
+ <script src="js/index.js"></script>
+ <script src="js/common.js"></script>
+</head>
+<body>
+
+<div class="navbar navbar-default navbar-static-top">
+<div class="container">
+ <div class="navbar-header">
+ <span class="navbar-brand"><a href="?">The Epube</a></span>
+ </div>
+</div>
+</div>
+
+<div class="container">
+
+ <form>
+ <input type="hidden" name="op" value="perform-login">
+
+ <div class="form-group">
+ <label>User</label>
+ <input class="form-control" required="true" name="user">
+ </div>
+ <div class="form-group">
+ <label>Password</label>
+ <input type="password" class="form-control" name="password" required="true">
+ </div>
+ <button type="submit" class="btn btn-default">Log in</button>
+ </form>
+
+</div>
+
+</body>
+</html>