У меня есть веб-сайт PHP, и я хочу убедиться, что только зарегистрированные пользователи могут получить доступ к определенным данным, и что пользователи могут получить доступ только к тем данным, на которые есть разрешение. Я не совсем уверен, если это проблема PHP или Apache. Допустим, на сервере существует папка «Изображения». Если пользователь не вошел в систему и браузер может запросить изображение из папки, перенаправит ли его на другую страницу, или мне нужно каким-то образом подключить Apache, чтобы убедиться, что пользователь абсолютно не может получить доступ к файлам, если нет такое сеанс PHP, который идентифицирует пользователя?
Используйте php для проверки пользователя и используйте файл .htaccess, чтобы запретить любой доступ к этому каталогу, который не был отправлен с php. Однако, если вы используете метод .htaccess, вам нужно получить изображение с помощью php, оно не будет доступно с помощью html или javascript.
Поместите файл .htaccess в папку с изображениями:
deny from all
С этим написано внутри файла .htaccess.
Тогда только php может получить доступ к файлам внутри папки.
Весь каталог можно отключить, если в браузере нет определенного файла cookie. Изменить .htaccess
файл в требуемом каталоге, чтобы включить:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !CookieName=Value [NC]
RewriteRule .* http://www.example.com/members/login.php [L]
Вы должны изменить три вещи:
CookieName
должен иметь имя, которое вы хотите.Value
позади CookieName
Вы можете потребовать, чтобы куки имели определенное значение.Теперь доступ будет предоставлен только тогда, когда в браузере присутствует правильный файл cookie. И, конечно, только пользователи, которые могут войти, должны иметь этот cookie. Я полагаю, вы знаете, как сделать такое печенье? Совет: пусть срок действия файла cookie истекает достаточно быстро.