Pergunta

Desenvolvi uma espécie de servidor Explorer como um módulo para o nosso aplicativo da Web e realmente funciona muito bem. Estou fazendo alguns refinamentos e há um problema que realmente não sei como enfrentar.

O Explorer é usado principalmente para escolher imagens de uma pasta e subpastas especificadas. Como algumas escolas se preocupam com a distribuição de fotos fora do estabelecimento, demos a eles a opção de proteger suas fotos com .htaccess (na verdade, na interface da web, que por sua vez define o .htaccess), se quiserem.

Quando tento acessar uma pasta protegida pelo .htaccess, sou solicitado uma senha para cada imagem dentro dessa pasta. Vale a pena notar que os professores tendem a fazer mais de 100 fotos em todos os eventos importantes e gostam de colocá -lo em uma única pasta, por isso não é raro que o navegador abra mais 100 caixas de diálogo.

Estamos executando o Perl no back -end, então pensei em verificar se uma determinada pasta está protegida ou não antes de entregar o conteúdo ao jQuery. O problema é que as imagens também podem ser protegidas por um .htaccess de uma pasta pai.

Existe alguma maneira segura de verificar se um estranho pode acessar essas imagens (ou arquivos, para mantê -lo genérico e aberto para outros usos) antes de distribuir as fotos?

Editar - Arquivo .htaccess adicionado
## olefa start ##
Authtype Basic
Authname "192.168.1.120/resources/images/accesstest"
Authuserfile /home/mike/workspace/olefa//resources/images/accesstest/.htpasswd
requer usuário válido
## olefa end end ##

Foi útil?

Solução

Uma opção que você pode querer explorar é armazenar um arquivo de espaço reservado que não seja de imagem em cada diretório e recuperando-o antes das imagens. Se você não conseguir recuperá -lo, não fará a imagem e interpretará isso como significando que o diretório está protegido contra esse usuário. Dessa forma, você receberá apenas uma única caixa de diálogo de senha e, se eles tiverem um nome de usuário e senha válidos, o navegador se lembrará para as recuperações de imagem.

Outras dicas

Parece que você pode estar construindo camada de camada de correção de código para um design ou processo deficiente.

Se você estiver recebendo a caixa de diálogo de nome de usuário para todas as imagens do mesmo diretório, suspeito inicialmente:

  1. De alguma forma, htaccess é de alguma forma. Você pode nos mostrar o que você tem?
  2. O agente do usuário não está enviando o cabeçalho da autorização. Veja as solicitações HTTP para verificar se você vê um cabeçalho de autorização. Veja também o status da resposta. É 401 ou 403?

Se você está tentando acessar recursos em caminhos diferentes, está usando um reino diferente para cada pasta? As credenciais se aplicam apenas ao reino que apresentou o desafio. Se você acessar outro reino e precisar começar de novo. Como você está especificando isso em seu htaccess?

Algumas outras coisas que poderiam nos ajudar:

  • Que tipo de autenticação você está usando? Básico, digerido, outra coisa?
  • Você está usando um manipulador de autorização personalizado?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top