Wohin mit den Datenbankverbindungseinstellungen?

8

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?

    
Daryll Santos 11.11.2012, 06:22
quelle

4 Antworten

5

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.

    
xbonez 11.11.2012 06:27
quelle
3

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.

    
Billy Moon 11.11.2012 06:27
quelle
1

Es gibt viele Möglichkeiten, dies zu tun, aber ich mache es so, indem ich CONSTANTS definiere:

%Vor%     
user1607528 11.11.2012 06:47
quelle
1

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.

    
mvp 11.11.2012 07:02
quelle

Tags und Links