Une approche possible...
Supposons que vous souhaitiez protéger le répertoire "protected".
Utilisation de .htaccess
, limitez tous les accès à ce répertoire en mettant
Options -Indexes
# Block External Access
deny from all
dans le .htaccess
fichier dans le répertoire "protégé".
Ensuite, utilisez une RewriteRule pour intercepter toutes les URL allant dans le répertoire "protégé" dans votre .htaccess
principal dossier. Par exemple :
RewriteEngine on
RewriteRule ^protected/(.*) accessprotected.php?url=$1
Normalement, la règle de réécriture devrait capturer toutes les URL allant dans le répertoire "protégé" et les transmettre à la page accessprotected.php.
Sur la page accessprotected.php, vérifiez le statut de connexion.
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
}