Вы можете динамически защитить папку, используя htaccess и ip пользователей.
Добавьте файл .htaccess в папку с изображениями со следующими строками:
order deny,allow
deny from all
Затем используйте PHP для вставки ip пользователей в файл htaccess при входе в систему следующим образом:
<?
$ip = $_SERVER['REMOTE_ADDR'];
if (!filter_var($ip, FILTER_VALIDATE_IP)) exit();
$file = $_SERVER["DOCUMENT_ROOT"].'/YOUR_IMAGE_FOLDER/.htaccess';
$current = file_get_contents($file);
$current .= "allow from ".$_SERVER['REMOTE_ADDR']." #".$_SESSION['id']."\n";
file_put_contents($file, $current);
?>
Папка будет заблокирована с любого ip, который не вошел в систему.
Обратите внимание, что я проверил, является ли IP действительным. Важно, чтобы вы не давали пользователю способа вставить свой собственный код в файл htaccess.
Также обратите внимание, что я поставил идентификатор пользователя в комментарии справа от ip в файле htaccess. Когда пользователь выходит из системы, вы можете выполнить поиск файла htaccess и удалить IP-адрес пользователя.
Вы можете обновлять это при каждом запросе, чтобы запретить пользователям, использующим динамические ips.
Я использую этот метод со всеми моими участками, это отличный дополнительный уровень безопасности. Просто убедитесь, что вы поместили свой лог в скриптах вне папки членов.