Wo legen Sie die Verbindungseinstellungen für eine Datenbankverbindung fest (Dinge wie host, dbname, user, password)? Wird es in der Datenbankklasse oder -datei oder außerhalb in einer Konfigurationsdatei oder woanders gespeichert?
Idealerweise sollten Sie es in einer Konfigurationsdatei ablegen, die so einfach wie ein PHP-Array sein kann.
Zum Beispiel: db_config.php
%Vor%Sie sollten diese Datei dann für maximale Sicherheit außerhalb Ihres Dokumentstammverzeichnisses platzieren. Auf diese Weise kann niemand, wenn Ihr Webhost Sie ausfällt und PHP-Dateien als Textdateien abliefert (passiert), Ihre DB-Zugangsdaten erhalten.
Es kann auf viele Arten gemacht werden, aber es ist üblich, es in eine Einstellungsdatei zu legen und diese Datei außerhalb der Webroot zu behalten, so dass Informationen über das Datenbankpasswort nicht versehentlich in das Web gelangen können.
Es gibt viele Möglichkeiten, dies zu tun, aber ich mache es so, indem ich CONSTANTS definiere:
%Vor% Für PostgreSQL benutze ich wirklich pg_service.conf
. Es ermöglicht mir, alle verbindungsspezifischen Einstellungen (Hostname, Datenbankname, Benutzername, Passwort usw.) in ~/.pg_service.conf
oder /etc/postgresql-common/pg_service.conf
zu setzen und ihnen einen allgemeinen Namen (Dienstname) zu geben.
Nun kann jedes Programm (Perl, PHP usw.), das sich mit der Datenbank verbinden möchte, einfach "service=name"
als Verbindungszeichenfolge angeben - nett, sauber, sicher und leicht wartbar.
Soweit ich weiß, hat MySQL einen ähnlichen Mechanismus für ~/my.cnf
oder /etc/my.cnf
-Dateien - Sie können das untersuchen.