Como armazenar o valor de um cabeçalho de solicitação HTTP não padrão a ser usado em um Apache If

1

Meu servidor receberá uma solicitação HTTP não padrão chamada EmployeeID que desejo usar para determinar os direitos de acesso a determinados diretórios no servidor. Como posso armazenar o valor do cabeçalho de solicitação HTTP não padrão de entrada para que possa ser usado em uma diretriz If usando diretivas Apache?

Depois de pesquisar on-line por algum tempo, criei o seguinte, onde tento salvar o cabeçalho em uma variável de ambiente usando RewriteRule para que eu possa acessar o valor da variável posteriormente para a comparação. Infelizmente, só encontrei frustração em vez de sucesso.

<Direcory "\Apache24\htdocs\usrs">
   RewriteEngine on
   RewriteRule .* - [E=EmployeeID:%{HTTP:EmployeeID}]
   <If "{Request_URI} != /%{EmployeeID}/">
      Deny from all
   </If>
</Directory">
    
por Chet 05.07.2013 / 15:02

1 resposta

0

Acho que você deseja usar a SetEnvIf diretiva do apache. Possivelmente:

SetEnvIf EmployeeId "^(.+)$" eid=$1
<Directory "\Apache24\htdocs\usrs">
    Order Deny,Allow
    Deny from all
    Allow from env=eid
</Directory>

Veja o exemplo de Evitar "roubo de imagem" , acho que isso pode algo semelhante ao que você precisa.

    
por 13.07.2013 / 22:42