
Beim Bereitstellen einer Site mit Apache gibt es mir zwei bekannte Möglichkeiten, Inhalte unter „Servername/foo“ zu platzieren:
- Platzieren Sie es im Webstammverzeichnis unter einem Ordner namens „foo“.
- Einen Alias erstellen
Als Beispiel für Nr. 2 hat XAMPP diese Anweisungen in einer Konfigurationsdatei:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
...Das bedeutet: "Wenn der Server localhost ist und jemand localhost/phpmyadmin besucht, zeige ihm den Inhalt von C:/xampp/phpMyAdmin, vorausgesetzt,folgende Berechtigungen."
In diesem Beispiel ist phpMyAdmin über dieselbe URL erreichbar.ist es aus Sicherheitsgründen wichtig, ob es sich im Webstammordner befindet oder nur als Alias verwendet wird, um den Anschein zu erwecken, als ob es dort wäre?
Antwort1
Für „normalen“ (statischen) Apache und wenn Sie das Beispiel auf ein enges 1:1-Szenario eingrenzen: Nein, es spielt keine Rolle. Wenn Sie hypothetisch mischen und zerdrücken und den Überblick darüber verlieren, welche Berechtigungen wohin vererbt werden, könnten Sie möglicherweise etwas offenlegen, was Sie nicht beabsichtigt haben.
Ich denke, am wichtigsten ist, dass es dadurch einfacher wird, einen bestimmten Codezweig einem anderen Benutzer zuzuordnen (und möglicherweise auch in diesen zu schreiben) als dem, den Sie für Ihren Webserver und Ihr Dokumentenstammverzeichnis verwenden. Dies ist für eine zuverlässige Verpackung erforderlich, und zuverlässige Verpackung ist ein zentraler Bestandteil langfristiger Sicherheit.
Bedenken Sie auch, dass Apache-Module ziemlich flexibel sein können. Während sich die Kernfunktionen von Apache nicht anders verhalten, kann sich das Verhalten von Authentifizierungsmodulen von Drittanbietern oder sogar von PHP-Einstellungen wie open_basedir und include_path ändern.
Antwort2
NEIN.
Die Directory-Anweisung bezieht sich auf ein VERZEICHNIS. Dabei spielt es keine Rolle, wo im System sich dieses Verzeichnis befindet.
Beachten Sie, dass die Einrückung in Ihrer Frage eine Art Beziehung zwischen den Alias- und Verzeichniszeilen impliziert, die jedoch nicht wirklich vorhanden ist.