Bernd Wurst commited on 2012-08-10 07:33:38
Zeige 1 geänderte Dateien mit 7 Einfügungen und 1 Löschungen.
... | ... |
@@ -39,10 +39,16 @@ function find_role($login, $password, $i_am_admin = False) |
39 | 39 |
$uid = (int) $login; |
40 | 40 |
if ($uid == 0) |
41 | 41 |
$uid = 'NULL'; |
42 |
- $result = db_query("SELECT passwort AS password, kundenaccount AS `primary`, status, ((SELECT acc.uid FROM system.v_useraccounts AS acc LEFT JOIN system.gruppenzugehoerigkeit USING (uid) LEFT JOIN system.gruppen AS g ON (g.gid=gruppenzugehoerigkeit.gid) WHERE g.name='admin' AND acc.uid=u.uid) IS NOT NULL) AS admin FROM system.v_useraccounts AS u LEFT JOIN system.passwoerter USING(uid) WHERE u.uid={$uid} OR username='{$login}' LIMIT 1;"); |
|
42 |
+ $result = db_query("SELECT username, passwort AS password, kundenaccount AS `primary`, status, ((SELECT acc.uid FROM system.v_useraccounts AS acc LEFT JOIN system.gruppenzugehoerigkeit USING (uid) LEFT JOIN system.gruppen AS g ON (g.gid=gruppenzugehoerigkeit.gid) WHERE g.name='admin' AND acc.uid=u.uid) IS NOT NULL) AS admin FROM system.v_useraccounts AS u LEFT JOIN system.passwoerter USING(uid) WHERE u.uid={$uid} OR username='{$login}' LIMIT 1;"); |
|
43 | 43 |
if (@mysql_num_rows($result) > 0) |
44 | 44 |
{ |
45 | 45 |
$entry = mysql_fetch_object($result); |
46 |
+ if ($entry->username != $login) { |
|
47 |
+ // MySQL matched (warum auch immer) ohne Beachtung der Schreibweise. Wir wollen aber case-sensitive sein. |
|
48 |
+ logger(LOG_WARNING, "session/checkuser", "login", "denying login to wrong cased username »{$login}«."); |
|
49 |
+ warning('Beachten Sie bei der Eingabe Ihrer Zugangsdaten bitte die Groß- und Kleinschreibung.'); |
|
50 |
+ return NULL; |
|
51 |
+ } |
|
46 | 52 |
$db_password = $entry->password; |
47 | 53 |
$hash = crypt($password, $db_password); |
48 | 54 |
if (($entry->status == 0 && $hash == $db_password) || $i_am_admin) |
49 | 55 |