Un possibile approccio...
Supponi di voler proteggere la directory "protetta".
Usando .htaccess
, limita tutti gli accessi a questa directory inserendo
Options -Indexes
# Block External Access
deny from all
nel .htaccess
file all'interno della directory "protetta".
Quindi, usa una RewriteRule per catturare tutti gli URL che vanno alla directory "protetta" nel tuo .htaccess
principale file. Ad esempio:
RewriteEngine on
RewriteRule ^protected/(.*) accessprotected.php?url=$1
Normalmente, la RewriteRule dovrebbe catturare tutti gli URL che vanno alla directory "protected" e trasmetterli alla pagina accessprotected.php.
Nella pagina accessprotected.php, controlla lo stato di accesso.
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
}