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.