Guten Abend allerseits,
auf meiner Homepage benutze ich ein eigens angefertigtes Login script.
Dazu speichere ich die Passwörter mit sha1 in ein Char(40) latin1_swedish_ci ab. Bei der Eingabe des Passworts wird dieses per sha1 "verhasht" und mit dem aus der Datenbank verglichen.
Nun habe ich allerdings festgestellt, dass einige User sich nicht einloggen können, obwohl sie das richtige Passwort eingeben.
Merkwürdigerweise scheint dies recht plötzlich zu passieren, ohne dass sie irgendwas verändert hätten.
Ich habe dieses lokal bei mir (Windows 7) ausprobiert und keine Loginprobleme festgestellt. Da alle diese User Mac benutzten, vermute ich, dass dieses dahinter steckt. Zudem habe ich einen weiteren gemeinsammen Nenner gefunden:
alle Passwörter enden auf 6.
Ich weiß nicht, woran dies liegen könnte, da es bei mir eben mit allen Passwörtern funktioniert.
Weiß einer von irgendeinem Fehler dieser Art oder wie man dies behenben/umgehen kann?
Hier mein entsprechender Code:
$shapass = sha1($_POST['password']);
$username = mysql_real_escape_string($_POST['username']);
$sql = ("SELECT userid,username FROM users
WHERE
username = '".$username."' AND
password = '".$shapass."'");
$result = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($result);
if ($num == 1) {
$list = mysql_fetch_object($result);
// SESSION SETZEN ...
$_SESSION['userid'] = $list->userid;
}