Ich versuche, eine RewriteRule zu erstellen, die den eingehenden Header nach einem sucht. APIKey
Wenn dieser eine übereinstimmende Zeichenfolge enthält, wird zur entsprechenden URL umgeleitet, andernfalls sollte der Zugriff darauf nicht möglich sein.
Ich teste dieses Szenario mit Postman und der Post-Methode.
Nachfolgend finden Sie meinen Code:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/manager/(.*)
RewriteCond %{REQUEST_URI} ^/manager/secure/rest/groovy-service-invoke/v2/demo/firewall-test/v0.1.0/(.*)$
RewriteCond %{ENV:APIKEY} ^ABCD123456789$
RewriteRule .* - [E:APIKEY=ABCD123456789]
Antwort1
Um den Zugriff auf jeden URL-Pfad zu blockieren (z. B. 403 Forbidden), der beginnt /manager/
, wenn der HTTP-Anforderungsheader APIKey
nicht mit dem spezifischen Wert bereitgestellt wird (z. B. ABCD123456789
), können Sie die folgende mod_rewrite-Regel verwenden:
RewriteEngine On
RewriteCond %{HTTP:APIKey} !=ABCD123456789
RewriteRule ^/?manager/ - [F]
: RewriteCond %{ENV:APIKEY} ^ABCD123456789$ RewriteRule .* - [E:APIKEY=ABCD123456789]
Dies bewirkt eigentlich nichts. Es setzt die Umgebungsvariable APIKEY
auf den Wert ABCD123456789
, aber nur, wenn die Umgebungsvariable APIKEY
bereits auf diesen Wert eingestellt ist!