У меня есть сайт PHP, и я хочу, чтобы только зарегистрированные пользователи могли получать доступ к определенным данным и чтобы пользователи могли получать доступ только к данным, имеющим разрешение для доступа. Я не уверен, что это проблема с PHP или Apache. Предположим, что на сервере существует папка «Изображения». Если пользователь не вошел в систему, и запросы браузера могут отображаться из папки, будет ли перенаправление на другую страницу позаботиться об этом или мне нужно каким-то образом вовлечь Apache, чтобы убедиться, что пользователь абсолютно не может получить доступ к файлам, если только это сеанс PHP, который идентифицирует пользователя?Управление доступом и доступом к файлам и папкам (PHP/Apache)
ответ
Используйте php, чтобы проверить пользователя и использовать файл .htaccess, чтобы запретить любой доступ к этому каталогу, который не отправлен с php. Однако, если вы используете метод .htaccess, вам нужно будет получить изображение с помощью php, оно не будет доступно с помощью html или javascript. Поместите файл .htaccess в папке изображения:
deny from all
с тем, что написано внутри файла .htaccess.
Тогда только php может обращаться к файлам внутри папки.
Кажется, это путь. Теперь мне просто нужно научиться обслуживать файлы с помощью PHP. – goodbyeworld
Весь каталог может быть отключен, если браузер не имеет определенного файла cookie. Измените файл .htaccess
в разыскиваемом каталоге включают:
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_COOKIE} !CookieName=Value [NC]
RewriteRule .* http://www.example.com/members/login.php [L]
Вы должны изменить три вещи:
CookieName
должен иметь имя, которое вы хотите.- С
Value
заCookieName
вы можете потребовать, чтобы файл cookie имел определенное значение. - И, конечно, URL.
Теперь доступ будет предоставлен только в том случае, если в браузере присутствует правильный файл cookie. И, конечно, только пользователи, которые могут войти в систему, должны иметь этот файл cookie. Предполагаю, вы знаете, как сделать такой куки? Совет. Пусть файл cookie истекает достаточно быстро.
Должно ли значение быть статическим? Потому что, если чей-то cookie будет захвачен, тогда у хакера будет доступ ко всем изображениям. Я не пытаюсь быть отрицательным. Мне просто любопытно, потому что я не знал, что вы можете это сделать, и хотите оценить его удобство для себя. –
Да и нет. Значение, очевидно, статично, если, конечно, вы не напишите новый файл .htaccess с новым значением. Например, вы можете написать задание cron, которое будет изменять значение каждый день в 03:00. Но это, с правильным доступом и знаниями, всегда взломано, как вы правильно предполагали. Если вам нужна абсолютная защита, используйте метод передачи всего через PHP. –
- 1. Управление доступом пользователей к файлам
- 2. Управление доступом к большим файлам в Apache
- 3. Управление доступом к потоку
- 4. Проблем с доступом к файлам
- 5. Управление доступом к частной и общественной деятельности
- 6. Управление распределенной версией и управление доступом
- 7. C# Управление доступом к dll
- 8. Управление доступом к классу C++
- 9. Управление доступом к членам класса
- 10. Управление доступом к уровню связи
- 11. Управление доступом к файлу с прямой ссылкой
- 12. Управление параллельным доступом
- 13. AWS IAM Управление доступом
- 14. Управление доступом SVN работает неправильно
- 15. Проблема mod_rewrite с доступом к файлам?
- 16. Лучший способ управлять доступом к папкам с помощью laravel
- 17. Управление доступом Derby.js (Racer)
- 18. Управление доступом в ASP.NET
- 19. OAuth2 и управление доступом на основе ролей
- 20. что разница между доступом команд и доступом к данным
- 21. Разница в значениях между доступом указателя и доступом к массиву
- 22. lua userdata с доступом к массиву и объектно-ориентированным доступом?
- 23. Управление доступом к папке s3 в браузере - лучшая практика?
- 24. Управление доступом пользователей к таблицам MySQL
- 25. Управление доступом hg к центральному репозиторию
- 26. Управление доступом к видеокарте в X.Org
- 27. Управление доступом к официальному репозиторию в BitBucket
- 28. Управление доступом к классам в JAR
- 29. Управление доступом пользователей к отдельным документам
- 30. Управление доступом в Интернет Android
В зависимости от типа и размера файлов простой (и не-исполняемый) способ должен обрабатывать все файлы через php. Переместите папку в папку, не доступную для апачей, и сделайте, например. 'if ($ loggedin) {header ('Content-type: image/jpeg'); echo file_get_contents ('/ private/file.jpg'); } ' – tillz