Apache-2.2
如何儲存要在 Apache If 條件中使用的非標準 HTTP 請求標頭的值
我的伺服器將接收一個名為 EmployeeID 的非標準 HTTP 請求,我想用它來確定對伺服器上某些目錄的訪問權限。如何儲存傳入的非標準 HTTP 請求標頭的值,以便可以在 If 條件中使用 Apache 指令?
在網上搜尋了很長一段時間後,我想出了以下內容,我嘗試使用 RewriteRule 將標頭保存到環境變數中,以便以後可以訪問變數的值進行比較。不幸的是,我只遇到了挫折而不是成功。
<Direcory "\Apache24\htdocs\usrs"> RewriteEngine on RewriteRule .* - [E=EmployeeID:%{HTTP:EmployeeID}] <If "{Request_URI} != /%{EmployeeID}/"> Deny from all </If> </Directory">
我認為您想使用SetEnvIf apache 指令。可能:
SetEnvIf EmployeeId "^(.+)$" eid=$1 <Directory "\Apache24\htdocs\usrs"> Order Deny,Allow Deny from all Allow from env=eid </Directory>
看看防止“圖像盜竊”的例子,我認為這可能會做一些類似於你需要的事情。