APIKEY 的 RewriteCond

APIKEY 的 RewriteCond

我正在嘗試創建一個 RewriteRule,它會查看傳入的標頭APIKey,如果它包含匹配的字串,那麼它將重定向到相應的 URL,否則它應該無法訪問。

我正在使用帶有 Post 方法的郵遞員測試這個場景。

請在下面找到我的程式碼:

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]

答案1

/manager/若要封鎖對在 HTTP 請求標頭APIKey未提供特定值(例如)時啟動的任何 URL 路徑的存取(即 403 Forbidden),ABCD123456789您可以使用下列 mod_rewrite 規則:

RewriteEngine On

RewriteCond %{HTTP:APIKey} !=ABCD123456789
RewriteRule ^/?manager/ - [F]

:
RewriteCond %{ENV:APIKEY}   ^ABCD123456789$
RewriteRule .* - [E:APIKEY=ABCD123456789]

這實際上並沒有做任何事情。它將環境變數設為APIKEY該值ABCD123456789,但僅當環境變數APIKEY已設定為該值時!

相關內容