summaryrefslogtreecommitdiff
path: root/www/functions/func_login.php
blob: 2f734c54b7d80b91ce004d4a4375308e67f1ce61 (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
<?php
function login($username, $password){
		$db = new SQLite3("../database/sqlite.db");
		
		$safe_username = SQLite3::escapeString("$username");

		$pepper = file_get_contents("../database/pepper.txt");
		$password = $password . $pepper;

		$real_password_db = $db->query("SELECT password FROM user WHERE name='" . $safe_username . "';");
		while($real_password_array = $real_password_db->fetchArray(SQLITE3_NUM)){
			foreach($real_password_array as $secondelement){
				$real_password=$secondelement;
			}
		}

		/*___Login___*/
		if (password_verify($password, $real_password)) {

			if($db->exec("
				BEGIN TRANSACTION;
				INSERT INTO log (id, user, login) VALUES (NULL, (SELECT id FROM user WHERE name='" . $username . "'), (SELECT datetime()) );
				COMMIT;
			")){
				$id = user($db, $username);

				$_SESSION["login"] = true;
				$_SESSION["username"] = $username;
				$_SESSION["userid"] = $id;

				return "success"; 
			} else {
					return "database";
			}
		} else {
			return "password";
		}
}

function logout(){
		if(session_destroy()){
			return true;
		} else {
			return false;
		}
}