Un posible enfoque...
Digamos que quiere proteger el directorio "protegido".
Usando .htaccess
, limite todos los accesos a este directorio poniendo
Options -Indexes
# Block External Access
deny from all
en el .htaccess
archivo dentro del directorio "protegido".
Luego, use una regla de reescritura para capturar todas las URL que van al directorio "protegido" en su .htaccess
principal expediente. Por ejemplo:
RewriteEngine on
RewriteRule ^protected/(.*) accessprotected.php?url=$1
Normalmente, RewriteRule debería capturar todas las URL que van al directorio "protegido" y transmitirlas a la página accessprotected.php.
En la página accessprotected.php, verifique el estado de inicio de sesión.
if (isset($_SESSION['LoggedIn'])) { // or something like this
/*
Here, you should check what file type is being
requested and handle this properly.
*/
} else {
// put code for login form here
}