Autenticação HTTP sendo ignorada, tanto em .htaccess AND em httpd.conf

3

Recentemente, descobri que alguns dos sites de desenvolvimento no meu computador local (Windows 10 / Apache 2.4) são visíveis da Web quando não deveriam. o problema é semelhante a esta questão , mas como nenhuma solução foi fornecida lá ( Todas as perguntas feitas nessa postagem foram verificadas e confirmadas como corretas), estou fazendo minha própria pergunta. Aqui estão os trechos relevantes dos arquivos relevantes:

link

# directory and file names obfuscated intentionally
<Directory "P:/HTTP/{hidden}"> 
  AllowOverride All
  AuthType Basic
  AuthName "Private Content - Authorized Use Only"
  AuthUserFile P:/.htpasswd
  Require valid-user
</Directory>

.htaccess (em P: / http / {hidden})

  AuthType Basic
  AuthName "You must log in to view this site."
  AuthUserFile P:/.htpasswd
  Require valid-user

(nota: As entradas AuthName são definidas de maneira diferente em cada uma para ajudar na depuração)

Eu sei que o arquivo .htaccess está sendo processado porque, se eu adicionar uma linha que cause um erro, o erro mencionado ocorrerá, mas quando não ocorrer nenhum erro, ainda não receberei um login de autenticação HTTP. O site apenas aparece. Isso acontece em todos os computadores dos quais eu tento acessar o site, não apenas na minha máquina local. não há entradas de erro em meus arquivos de log (exceto os erros intencionais de HTTP 500 que foram gerados a partir de uma linha de lixo em .htaccess), AllowOverride está definido como ALL , como pode ser visto no meu trecho, acima e Não houve mudanças recentes no Apache desde a última vez que fiz um teste de segurança, cerca de dois meses atrás. A única alteração no sistema foi por meio de atualizações para o Windows, mas isso não deve ter nenhum impacto em relação a esse problema.

O interessante é que, neste mesmo computador, eu tenho várias VMs, todas com diferentes versões do OS / Apache, e todas elas apontam para o mesmo documento raiz (um compartilhamento SAMBA na caixa local), e todas têm similares ( ou idênticos) em seus respectivos arquivos de configuração do Apache, e todos eles funcionam . É apenas a máquina host do Win10 que tem esse problema.

Qualquer sugestão ou pista seria recebida com gratidão.

    
por Dave Morton 18.12.2016 / 13:25

2 respostas

2

Esta é a aparência do meu arquivo .htaccess (Apache 2.2)

AuthName "FBI only"
AuthUserFile /etc/apache2/htpasswd-mysite
AuthType basic
Require valid-user
Order Deny,Allow
Deny from all
Allow from Ip.addr.here
Satisfy Any

Quando meu site é acessado a partir de Ip.addr.here , a senha não é necessária.

No arquivo de configuração do apache eu tenho

<Directory "/var/www/vhosts/site/www">
     Options            Indexes FollowSymLinks
     AllowOverride      All
     Order              allow,deny
     Allow              from all
</Directory>

Então, tente adicionar ao arquivo htaccess essas linhas

Order Deny,Allow
Deny from all

Editar

Por favor, veja link

A partir desse link:

If you are upgrading a server using the legacy authorization directives you can make them work quickly by enabling (it should be activated by default) mod_access_compat in Apache: sudo a2enmod access_compat

No seu caso, veja se você tem esse módulo ativado.

Aqui está uma informação útil. link

Editar 2

Consulte esta questão relevante e confira arquivo de log do apache!

    
por 18.12.2016 / 20:09
0

Depois de seguir todas as sugestões dadas (obrigado a todos por essas sugestões), respondendo a perguntas postadas aqui e em outros lugares, e geralmente tirando mais cabelo do que posso perder, finalmente <<> encontrou a causa do problema e, portanto, a solução. Acontece que havia outro arquivo .htaccess em uma pasta ancestral que permitia o acesso a todas as pastas filhas, e esse arquivo .htaccess "upstream" estava sobrescrevendo as configurações no arquivo que eu estava tentando fazer as alterações. Isso parece estranho para mim, mas comentando as configurações no ancestral. O htaccess fez com que o outro arquivo começasse a funcionar como planejado.

A conclusão aqui é que, se o seu arquivo .htaccess não estiver funcionando como planejado, procure nas pastas pai para ver se outro arquivo tem configurações diferentes.

    
por 24.12.2016 / 19:36