Captura de parâmetros de url (“? =” ou “& =”) com o Apache LocationMatch

1

Eu não consegui pensar em um bom título para isso. Basicamente eu tenho autenticação básica que cobre todo o site de /, mas eu quero que URLs com certos parâmetros sejam excluídos da autenticação.

Exemplo: não autentique se houver um parâmetro chamado "zzz"

Protected
http://example.com/
http://example.com/?xxx=xxx&yyy=yyy

Not Protected
http://example.com/?zzz=zzz
http://example.com/?xxx=xxx&zzz=zzz

Tentei fazer algo parecido com

<LocationMatch "/zzz/">
  Allow from all
  Satisfy any
</LocationMatch>

com disponibilidade agora. Pelo que eu entendi os parâmetros não parecem ser vistos pelo LocationMatch, isso está correto? ou estou fazendo tudo errado?

    
por Saifis 09.08.2011 / 17:19

1 resposta

3

LocationMatch definitivamente não pode fazer isso. Você pode conseguir o comportamento desejado de mod_rewrite usando o parâmetro QUERY_STRING , mas eu ainda classificaria isso como "fazendo errado" - você não quer se deparar com uma situação onde você sempre permite consultas sem autenticação quando ?logout=true , mas depois você adiciona uma página mais tarde que não está procurando o logout param da mesma maneira.

Eu recomendaria alterar seu aplicativo para usar uma estrutura de diretório falsa em vez de apenas params de consulta, ou então apenas fazer com que seu aplicativo manuseie toda a lógica de autenticação em si.

    
por 09.08.2011 / 17:45