dedlfix: Ver- und Entschlüsseln mit AES_ENCRYPT

Beitrag lesen

echo $begrüßung;

INSERT INTO adressen (id, Vorname, Name) VALUES ('', AES_ENCRYPT('$_POST[Vorname]', 'passwort'), '$_POST[Name]')";

Benutzereingaben direkt in SQL-Statements einbauen, ist grob fahrlässig. Im einfachsten Fehlerfall gibt der Benutzer ein ' ein, weil er eins im Namen hat (z.B. O'Conner). Das gerät dann in Konflikt mit den zwecks Stringbegrenzung enthaltenen '. In schwerwiegenderen Fällen verändert er das Statement nach seinen Wünschen. Literaturtipp: PHP-Handbuchkapitel Database Security

$sql = "SELECT AES_DECRYPT('Vorname', 'my_salt'), Name FROM adressen";

Apropos Stringbegrenzer ... Feldnamen damit einzurahmen macht aus ihnen Strings.

echo "$verabschiedung $name";