Festlegen des Apache-Headers mit Bedingungen zum Ausschließen von Pfaden/Verzeichnissen/Server-IPs

Festlegen des Apache-Headers mit Bedingungen zum Ausschließen von Pfaden/Verzeichnissen/Server-IPs

Ich verwende ein WordPress-Plugin namens Duplicator Pro und die beste Möglichkeit zur Installation mit den Installationsprogrammen besteht darin, die IP-Adresse des Servers anstelle der Domäne zu verwenden, da dies die automatische Eintragung und die Verbindung zum Server erleichtert und gleichzeitig nicht mehrere ModSecurity-Regeln auslöst.

Die beste Installations-URL ist:

http://111.222.333.444/~customcpanelaccount/customfolder/installer.php

Anstatt:

https://website.com/customfolder/installer.php

Wenn Sie eine dieser Dateien laden, werden Sie automatisch weitergeleitet zu:

/customfolder/dup-installer/main.installer.php

Da der Server jedoch über die folgende Apache/LiteSpeed-Regel verfügt, leitet er http:// automatisch auf https:// um, was zur Ausgabe der folgenden Meldung führt:

Mit Netzwerk verbinden

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

Ich versuche, einen Weg zu finden, die obige Apache/LiteSpeed-Regel nur auf Domänen anzuwenden, nicht auf direkte IPs ODER sie so zu gestalten, dass sie nicht ausgelöst wird, wenn die Datei von und das Verzeichnis von verwendet werden installer.php.main.installer.php/dup-installer/

Es ist schade, dass es keine if-Anweisungen vom Typ FilesNotMatch / DirectoryNotMatch / LocationNotMatch gibt.

Wenn jemand eine Idee hat, wäre ich für die Hilfe/den Rat sehr dankbar!

Antwort1

Sie können eine Umgebungsvariable (z. B. DOMAIN_REQUESTED) festlegen, wenn eine Domäne angefordert wird (im Gegensatz zur IP-Adresse) und dies Headerbedingt festlegen, basierend darauf, ob diese Umgebungsvariable mithilfe des env=Arguments festgelegt wird.

Zum Beispiel:

SetEnvIf Host "[a-z]" DOMAIN_REQUESTED
Header always set Content-Security-Policy "upgrade-insecure-requests;" env=DOMAIN_REQUESTED

Wenn der HostHeader das Zeichen az enthält, müssen Sie einen Domänennamen und nicht die IP-Adresse anfordern. In diesem Fall DOMAIN_REQUESTEDwird die Umgebungsvariable auf gesetzt 1.

Jedoch...

  • Es scheint seltsam, dass es besser wäre, dies über unsicheres HTTP unter Verwendung der IP-Adresse des Servers und eines benutzerspezifischen Webverzeichnisses zu installieren?! Benutzerspezifische Webverzeichnisse (mod_userdir) sollten im Allgemeinen vermieden werden, da sie die root-relativen URL-Pfade stark beeinträchtigen.

  • Wenn dies nur für den Installationsvorgang gilt, können Sie diese HeaderAnweisung dann nicht einfach vorübergehend auskommentieren?

Es ist schade, dass es keine if-Anweisungen vom Typ FilesNotMatch / DirectoryNotMatch / LocationNotMatch gibt.

Nun, das gibt es irgendwie, denn man kann einnegativer Vorausblick(oderSchau hinter dich) im regulären Ausdruck, um zu bestimmen, wann eine Übereinstimmungnichtgeschehen.

...ODER um es so zu machen, dass es nicht ausgelöst wird, wenn die Datei von installer.phpund main.installer.phpdas Verzeichnis von verwendet werden/dup-installer/

Der Content-Security-Policy: upgrade-insecure-requests;HTTP-Antwortheader betrifft nur verknüpfte Assets, nicht die Navigation auf oberster Ebene. Dies gilt also sowieso nicht für installer.phpund main.installer.php. Wenn diese Anfragenaufgewertet(oder wahrscheinlicher „umgeleitet“), dann ist etwas anderes dafür verantwortlich.

verwandte Informationen