Jedno możliwe podejście...
Powiedz, że chcesz chronić katalog "chroniony".
Używanie .htaccess
, ogranicz cały dostęp do tego katalogu, umieszczając
Options -Indexes
# Block External Access
deny from all
w .htaccess
plik w "chronionym" katalogu.
Następnie użyj reguły RewriteRule, aby przechwycić wszystkie adresy URL, które trafiają do "chronionego" katalogu w twoim głównym .htaccess
plik. Na przykład:
RewriteEngine on
RewriteRule ^protected/(.*) accessprotected.php?url=$1
Normalnie reguła RewriteRule powinna przechwycić wszystkie adresy URL przechodzące do "chronionego" katalogu i przesłać je do strony accessprotected.php.
Na stronie accessprotected.php sprawdź status logowania.
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
}