Rev 12 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 12 | Rev 14 | ||
---|---|---|---|
1 | <?php |
1 | <?php |
2 | 2 | ||
3 | if (!defined('IBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
3 | if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
4 | 4 | ||
5 | if (!isset($secretkey)) $secretkey = ''; |
5 | if (!isset($secretkey)) $secretkey = ''; |
6 | 6 | ||
7 | if (!$konfiguration[$modul]['enabled']) |
7 | if (!$konfiguration[$modul]['enabled']) |
8 | { |
8 | { |
9 | echo $header; |
9 | echo $header; |
10 | echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>'; |
10 | echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>'; |
11 | echo 'Der Administrator hat die Schnellanmeldung deaktiviert.'; |
11 | echo 'Der Administrator hat die Schnellanmeldung deaktiviert.'; |
12 | echo $footer; |
12 | echo $footer; |
13 | } |
13 | } |
14 | else |
14 | else |
15 | { |
15 | { |
16 | $erfolg = 0; |
16 | $erfolg = 0; |
17 | 17 | ||
18 | $res = db_query("SELECT `username`, `passwort`, `fastlogin_secret`, `last_login`, `last_login_ip` FROM `".$mysql_zugangsdaten['praefix']."users` WHERE `gesperrt` = '0' AND `fastlogin_secret` != ''"); |
18 | $res = db_query("SELECT `username`, `passwort`, `fastlogin_secret`, `last_login`, `last_login_ip` FROM `".$mysql_zugangsdaten['praefix']."users` WHERE `gesperrt` = '0' AND `fastlogin_secret` != ''"); |
19 | while ($row = db_fetch($res)) |
19 | while ($row = db_fetch($res)) |
20 | { |
20 | { |
21 | // Gastzugang verbieten. Es wird nicht geprüft, ob Gastaccount aktiviert ist oder nicht. (siehe user_login) |
21 | // Gastzugang verbieten. Es wird nicht geprüft, ob Gastaccount aktiviert ist oder nicht. (siehe user_login) |
22 | if (($row['username'] != $konfiguration['main_gastzugang']['gast_username']) && ($row['passwort'] != md5($konfiguration['main_gastzugang']['gast_passwort']))) // TODO: use sha3 hash, salted and peppered |
22 | if (($row['username'] != $konfiguration['main_gastzugang']['gast_username']) && ($row['passwort'] != md5($konfiguration['main_gastzugang']['gast_passwort']))) // TODO: use sha3 hash, salted and peppered |
23 | { |
23 | { |
24 | $dec = ib_decrypt($secretkey, $row['fastlogin_secret']); |
24 | $dec = ib_decrypt($secretkey, $row['fastlogin_secret']); |
25 | $ary = explode("\n", $dec); |
25 | $ary = explode("\n", $dec); |
26 | 26 | ||
27 | if ((count($ary) == 4)) |
27 | if ((count($ary) == 4)) |
28 | { |
28 | { |
29 | if (( $ary[0] == $row['username']) && ($ary[1] == special_hash($ary[0])) && |
29 | if (( $ary[0] == $row['username']) && ($ary[1] == special_hash($ary[0])) && |
30 | (md5($ary[2]) == $row['passwort']) && ($ary[3] == special_hash($ary[2])) ) // TODO: use sha3 hash, salted and peppered |
30 | (md5($ary[2]) == $row['passwort']) && ($ary[3] == special_hash($ary[2])) ) // TODO: use sha3 hash, salted and peppered |
31 | { |
31 | { |
32 | $erfolg = 1; |
32 | $erfolg = 1; |
33 | break; |
33 | break; |
34 | } |
34 | } |
35 | } |
35 | } |
36 | } |
36 | } |
37 | } |
37 | } |
38 | 38 | ||
39 | if ($erfolg) |
39 | if ($erfolg) |
40 | { |
40 | { |
41 | // @session_unset(); |
41 | // @session_unset(); |
42 | // @session_destroy(); |
42 | // @session_destroy(); |
43 | 43 | ||
44 | $_SESSION['ib_user_type'] = '1'; |
44 | $_SESSION['wb_user_type'] = '1'; |
45 | $_SESSION['ib_user_username'] = $ary[0]; |
45 | $_SESSION['ib_user_username'] = $ary[0]; |
46 | $_SESSION['ib_user_passwort'] = $ary[2]; |
46 | $_SESSION['ib_user_passwort'] = $ary[2]; |
47 | 47 | ||
48 | $rs = db_query("SELECT NOW()"); |
48 | $rs = db_query("SELECT NOW()"); |
49 | $rw = db_fetch($rs); |
49 | $rw = db_fetch($rs); |
50 | 50 | ||
51 | $_SESSION['last_login'] = $row['last_login']; |
51 | $_SESSION['last_login'] = $row['last_login']; |
52 | $_SESSION['last_login_ip'] = $row['last_login_ip']; |
52 | $_SESSION['last_login_ip'] = $row['last_login_ip']; |
53 | db_query("UPDATE `".$mysql_zugangsdaten['praefix']."users` SET `last_login` = '".$rw[0]."', `last_login_ip` = '".$_SERVER['REMOTE_ADDR']."' WHERE `username` = '".db_escape($ary[0])."'"); |
53 | db_query("UPDATE `".$mysql_zugangsdaten['praefix']."users` SET `last_login` = '".$rw[0]."', `last_login_ip` = '".$_SERVER['REMOTE_ADDR']."' WHERE `username` = '".db_escape($ary[0])."'"); |
54 | 54 | ||
55 | header('location: index.php'); |
55 | header('location: index.php'); |
56 | } |
56 | } |
57 | else |
57 | else |
58 | { |
58 | { |
59 | echo $header; |
59 | echo $header; |
60 | echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>'; |
60 | echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>'; |
61 | echo 'Authentifizierung war nicht erfolgreich! Möglichweise ist die Schnellanmelde-URL abgelaufen.'; |
61 | echo 'Authentifizierung war nicht erfolgreich! Möglichweise ist die Schnellanmelde-URL abgelaufen.'; |
62 | echo $footer; |
62 | echo $footer; |
63 | } |
63 | } |
64 | } |
64 | } |
65 | 65 | ||
66 | ?> |
66 | ?> |
67 | 67 |