MySQL Groß- und Kleinschreibung berücksichtigen

Eine MySQL-Abfrage für Benutzernamen und Passwort sollte auf jeden Fall auf Groß- und Kleinschreibung achten. Wird eine normale Anfrage gefahren mit:

<?php $sql = "SELECT nutzer FROM zugangsdaten          WHERE nutzer = '". $_POST['nutzer'] ."'          AND passwort = '". $_POST['passwort'] ."'; "; ?> 

so wird keine Rücksicht auf Groß- und Kleinschreibung genommen. Der Nutzer kann sich einloggen mit "Moritz" oder "moritz" oder "mORitZ" – es ist vollkommen egal.

Doppelter Schutz – auch vor SQL-Injection-Angriffe

Wird von den Daten mit der Funktion md5() eine Prüfsumme gebildet und diese verglichen, ist Groß- und Kleinschreibung wichtig und SQL-Injection-Angriffe laufen ins Leere!

<?php $sql = "SELECT nutzer FROM zugangsdaten          WHERE nutzer = '". md5($_POST['nutzer']) ."'          AND passwort = '". md5($_POST['passwort']) ."'; "; ?> 

Sie erhöhen die Sicherheit durch Brute-Force-Hackens um den Faktor von ca. 100 bei einem 8-stelligen Passwort.