RewriteCond für APIKEY

RewriteCond für APIKEY

Ich versuche, eine RewriteRule zu erstellen, die den eingehenden Header nach einem sucht. APIKeyWenn 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 APIKeynicht 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 APIKEYauf den Wert ABCD123456789, aber nur, wenn die Umgebungsvariable APIKEYbereits auf diesen Wert eingestellt ist!

verwandte Informationen