Един възможен подход...
Да кажем, че искате да защитите директорията "protected".
Използване на .htaccess
, ограничете целия достъп до тази директория, като поставите
Options -Indexes
# Block External Access
deny from all
в .htaccess
файл в "защитената" директория.
След това използвайте RewriteRule, за да уловите всички URL адреси, отиващи към „защитената“ директория във вашия основен .htaccess
файл. Например:
RewriteEngine on
RewriteRule ^protected/(.*) accessprotected.php?url=$1
Обикновено RewriteRule трябва да улавя всички URL адреси, отиващи към "защитената" директория, и да ги предава на страницата accessprotected.php.
На страницата accessprotected.php проверете за състояние на влизане.
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
}