Usando mod_rewrite para bloquear o acesso com base no REQUEST_METHOD + cabeçalho HTTP

0

Eu quero usar o mod_rewrite para retornar 403 Forbidden quando o REQUEST_METHOD é GET e quando um cabeçalho personalizado específico está faltando. Mas eu quero permitir através de pedidos com o verbo OPTIONS, mesmo que esse cabeçalho personalizado está faltando.

Isso é o que estou usando atualmente:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} =GET 
RewriteCond %{HTTP:SomeHeader} ^$
RewriteRule .* - [F]

O comportamento GET parece estar funcionando bem (se o cabeçalho fornecido eu receber de volta 200, sem ele eu obtive 403). Mas também estou vendo o mesmo comportamento para OPTIONS (403, a menos que eu forneça header, depois 200).

Parece que quando o verbo HTTP é OPTIONS, o primeiro RewriteCond deve estar falhando, mas de alguma forma parece que está "passando" e continuando com a outra condição + regra.

Alguma ideia do que está acontecendo aqui?

    
por Trevor 07.11.2018 / 02:38

0 respostas