Hallo,
Nun habe ich allerdings festgestellt, dass einige User sich nicht einloggen können, obwohl sie das richtige Passwort eingeben.
was steht in der HTTP-Logdatei vom Server? Was wurde auf Netzwerkebene übertragen (tcpdump)? Gibts eventuell auch ein Log vom PHP-Interpreter?
Ich wüsste leider nicht, wie ich tcpdump überprüfen sollte, da ich ja nur einen Webspace, nicht aber einen eigenen Server besitze.
Komischerweise endet der Errorlog im März. Vielleicht war die Datei bereits zu groß.
Hier mein entsprechender Code:
$shapass = sha1($_POST['password']);
Du verwendest hoffentlich HTTPS? Außerdem solltest du das Hashing auf dem Clientcomputer zu vollziehen.
Da ich dies einmal von einem gegebenen Loginscript übernommen habe und auch nirgends bisher anders gesehen habe, frage ich mich gerade, wie ich das denn auf dem Clientcomputer machen kann, da doch die php Dateien trotzdem auf Seite des Servers liegen.
$username = mysql_real_escape_string($_POST['username']);
$sql = ("SELECT userid,username FROM users
WHERE
username = '".$username."' AND
password = '".$shapass."'");
> Hier könntest du [prepared statements](http://php.net/manual/de/pdo.prepared-statements.php) benutzen.
Danke, werde ich mal berücksichtigen!