Mag sein, dass ich keine Ahnung habe, aber ich finde Ynnus Vorschlag mit Masterkey etc. etwas bloated.

Sicherheit ist gut und schön, aber a) geht das doch massiv zu Lasten der Usability und außerdem muss man ein Mindestmaß an Sicherheit auf dem Server, auf dem das läuft, voraussetzen, ansonsten kann man die Anwendung gleich in die Tonne kloppen.

Wenn ich das Passwort im Klartext in einer PHP Datei speichere und ihr entsprechende Rechte gebe, muss ich davon ausgehen können, dass diese Datei keiner außer mir und dem Administrator lesen kann. Wenn diese Annahme falsch ist, ist meine Anwendung per Definition kompromittiert, da dann vermutlich auch andere Personen in meine Dateien schreiben können und damit noch ganz andere Sachen anstellen können, als nur mein SQL PW auszulesen.

Ich sehe ein, dass unverschlüsselte Passwörter im Speicher unschön sind (hilft da kein unset/free?), da kann man sie dann aber meinetwegen verschlüsselt speichern, in ner anderen Variable und Datei den Schlüssel und dann zur Laufzeit on demand entschlüsseln - eher Obfuscation, aber geht nicht zu Lasten der Usability.

Was die Sicherheit der Kommunikation zwischen App und DB angeht, da ist nicht der Programmierer für verantwortlich. Dafür hat der Server-Admin zu sorgen durch VPN, SSH-Tunnel oder SQL über SSL.