A menos que você tenha alterado as configurações, os dados da sessão do PHP são armazenados em uma variação em seu próprio formato serialize () em um diretório temporário, e não é fácil obter isso sem usar o próprio PHP.
infelizmente, você parece querer a velocidade dos arquivos estáticos servidos enquanto autoriza dinamicamente cada solicitação, que não são realmente metas compatíveis. Você pode comprometer-se por ter um script PHP super leve que, em seguida, usa mod_rewrite para reescrever solicitações de arquivos nele, o que passa por coisas boas. Exemplo super simples:
.htaccess:
RewriteEngine On
RewriteMap auth prg:auth.php
RewriteRule (.*) ${auth:$1}
auth.php:
#!/usr/bin/php
<?PHP
set_time_limit(0); # This program needs to run forever.
$stdin = fopen("php://stdin","r"); # Keeps reading from standard in
while (true) {
$line = trim(fgets($stdin));
if (isset($_SESSION['USER_LOGGED_IN'])) {
echo $line\n";
} else {
echo "authfailed.html\n";
}
}
notavelmente, esse script PHP está em execução para sempre, então você precisará reiniciar o apache se o alterar, eu acho.
Tudo isso não foi testado, mas é mais ou menos a direção que acho que você deve seguir.
Referências: