htaccess + htpasswd: como evitar a execução de scripts php sem especificar uma senha

htaccess + htpasswd: como evitar a execução de scripts php sem especificar uma senha

Meu site é gerenciado pelo Apache no Linux. No diretório base, existe o preenchimento da subpasta. Nesta subpasta, existe um script php: do.php

Aqui está meu .htaccess:

AuthType Basic
AuthName 'Welcome back'
AuthUserFile /home/provider/mysite/fill/.htpasswd
Require valid-user

Aqui está meu .htpasswd:

ab12:2yd32253zi7Nz2

Quando eu for parahttp://meusite/preencher, me é solicitado um nome de usuário e uma senha. Quando eu os especifico (ab12 com a senha), faço login com sucesso e vejo o conteúdo de index.html localizado nesta pasta de preenchimento (ou seja,http://meusite/fill/index.html). Em seguida, limpo o histórico de navegação e todas as senhas salvas anteriormente. Depois disso, quando executo o scripthttp://meusite/fill/do.php, NÃO me é solicitada nenhuma autenticação.

A questão: é possível solicitar credenciais ao executarhttp://meusite/fill/do.php? Alguma mudança no htaccess?

Obrigado.

Responder1

Olhando paraDocumentação do ApachesobreAutenticação, autorização e controle de acesso, infelizmente parece quenão é possível sair.

Então o problema não é essehttp://meusite/fill/do.phpnão está pedindo credenciais. O problema real aqui é que você não consegue redefinir a autenticação.

Como faço para sair?

Desde que os navegadores começaram a implementar a autenticação básica, os administradores de sites queriam saber como permitir que o usuário saísse. Como o navegador armazena em cache o nome de usuário e a senha com o domínio de autenticação, conforme descrito anteriormente neste tutorial, isso não é uma função da configuração do servidor, mas é uma questão de fazer com que o navegador esqueça as informações de credencial, para que na próxima vez o recurso for solicitado, o nome de usuário e a senha deverão ser fornecidos novamente. Existem inúmeras situações em que isso é desejável, como quando se utiliza um navegador em um local público, e não se deseja deixar o navegador logado, para que a próxima pessoa possa acessar sua conta bancária.

No entanto, embora esta seja talvez a pergunta mais frequente sobre autenticação básica, até agora nenhum dos principais fabricantes de navegadores considerou esta uma funcionalidade desejável para colocar nos seus produtos.

Conseqüentemente, a resposta a esta pergunta é: você não pode. Desculpe.

Olhando para issopergunta, você poderá pesquisar outras maneiras de sair.

informação relacionada