Warum befindet sich settings.php im Webordner?

8

In der Standardinstallation befindet sich settings.php unter sites/default/. Auf der offiziellen Drupal-Website gibt es keine Empfehlungen zum Ändern des Speicherorts dieser Datei. Stellt es nicht ein potenzielles Sicherheitsproblem dar? Ich habe gesehen, dass Apache-Webserver PHP-Dateien letztendlich nicht interpretieren konnten und den Inhalt der PHP-Datei im reinen Nur-Text-Format anstelle des vermeintlichen HTML-Inhalts bereitstellten. Das würde den Benutzer und das Passwort der Datenbankverbindung vollständig offenlegen, die nicht einmal verschlüsselt sind. Warum funktioniert das so?

Cesar
quelle

Antworten:

6

Sie sind absolut richtig. Ich weiß, dass viele Entwickler / Systemadministratoren nicht das Risiko eingehen, dass der PHP-Interpreter irgendwann ausfällt, und das Datenbankkennwort (und andere vertrauliche Daten wie API-Schlüssel) aus einer Datei außerhalb der Docroot des Webservers einfügen.

Ich bin überrascht, dass dies nirgendwo als Best Practice dokumentiert ist - zumindest konnte ich es auch nicht auf drupal.org finden. Ich habe keine Informationen darüber, warum es so funktioniert.

Marcvangend
quelle
6
Ich erinnere mich an eine Diskussion zwischen bekannten Kernentwicklern vor einigen Jahren, in der sie sich gegen das Verschieben sensibler Daten aus dem Webstamm aussprachen . Ich erinnere mich, dass ich damals ziemlich entsetzt war. Wenn das Gedächtnis mir recht tut, war das Argument meiner Meinung nach damit verbunden, dass Drupal bei Shared Hosting sofort arbeiten musste, und diese Empfehlungen würden es für die Massen oder ähnliches schwieriger machen, dies zu realisieren. Ich werde sehen, ob ich diese Diskussion finden kann
Clive
1
Danke @Clive. Ich wollte meiner Antwort keine Spekulationen hinzufügen, aber wie Sie sagen, scheint die Anforderung, in allen Arten von Umgebungen sofort einsatzbereit zu sein, der wahrscheinlichste Grund zu sein, settings.php in der Docroot zu haben.
Marcvangend
Ja, @marcvangend, das habe ich mir gedacht, aber irgendwie kann während der Installation eine automatische Prozedur verfügbar sein, die prüft, ob auf Serverebene die entsprechenden Schreib- / Eigentümerberechtigungen vorhanden sind und ob dies der Fall ist, um zusätzliche Sicherheit zu bieten. auf standardisierte und kontrollierte Weise (über die Kernmethodik).
Cesar
0

Bei einigen Anbietern wird diese vertrauliche Verbindungszeichenfolge außerhalb des Webstamms gespeichert (z. B. getpantheon.com). Sie können immer einige symbolische Links erstellen, anstatt sie direkt im Ordner / sites / default zu speichern.

fndtn357
quelle