PHP:fopen para verificar se o cliente foi autenticado com um arquivo protegido por senha (htpasswd)
Pergunta
Digamos que eu tenha um diretório protegido usando htpasswd chamado/secret
Um usuário válido efetua login em /secret.
Eles são redirecionados de volta para uma área pública.
Dentro dessa área pública, existe uma maneira no PHP de saber se o usuário atual foi autenticado com htpasswd?
Obrigado pelo seu tempo!
Solução
Dentro da pasta /secret, você pode fazer com que a página de índice defina uma sessão e verifique isso na área pública.
Por exemplo, em PHP:
/secret/index.php
<?php
session_start();
$_SESSION['htpasswdAuth'] = true;
header("Location: /public/area");
?>
Então seus outros scripts podem fazer algo como:
<?php
session_start();
if(isset($_SESSION['htpasswdAuth']) && $_SESSION['htpasswdAuth'] == true)
{
echo 'hello authenticated user!';
}
?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow