blob: ed73bdcb8adc28469b7a8b2577b44a8e4cfe7241 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
<?php
/* Copyright Maximilian Möhring, 2013
Licensed under the GPL. Read LICENSE for more Information.*/
/*Process the login*/
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST') {
/*___Database Query: Login___*/
$unsafe_username = $_POST["username"];
$unsafe_passwort = $_POST["password"];
$username = SQLite3::escapeString("$unsafe_username");
$passwort = SQLite3::escapeString("$unsafe_passwort");
$db_check = new SQLite3("../database/sqlite.db");
$salt_db = $db_check->query("SELECT salt FROM user WHERE name='$username';");
while($salt_array = $salt_db->fetchArray(SQLITE3_NUM)){
foreach($salt_array as $firstelement){
$salt=$firstelement;
}
}
$password = "$salt"."$passwort";
$hash_password = md5($password);
for($i=0;$i<15000;$i++)
$hash_password = md5($hash_password);
$real_password_db = $db_check->query("SELECT password FROM user WHERE name='$username';");
while($real_password_array = $real_password_db->fetchArray(SQLITE3_NUM)){
foreach($real_password_array as $secondelement){
$real_password=$secondelement;
}
}
/*___Login___*/
if ($real_password == $hash_password) {
if($db->exec("
BEGIN TRANSACTION;
INSERT INTO log (id, user, login) VALUES (NULL, (SELECT id FROM user WHERE name='$username'), (SELECT datetime()) );
COMMIT;
")){
$_SESSION["login"] = true;
$_SESSION["username"] = "$unsafe_username";
header("Refresh: 0; /");
} else {
header("Refresh: 0; login?reason=database");
}
} else {
header("Refresh: 0; login?reason=failure");
}
} else {
/*Prints the GET version*/
foreach ($_GET as $argument => $value) {
if(preg_match("/logout/",$argument)){
session_destroy();
header("Refresh: 0; /login?success");
exit;
} else {
if(preg_match("/success/",$argument))
$logout="Successfull loged out!";
}
}
if($_SESSION["login"]){
header("Refresh: 0; /");
} else {
echo $logout;
echo "<form method='post' action='/login.php'>
<p>Name: <input type='text' name='username'></p>
<p>Password: <input type='password' name='password'>
<p><input type='submit' name='submit' value='login'></p>
</form>";
}
}
|