Мой сайт имеет форму, в которой пользователи могут загружать документы. Они хранятся в папке www.mysite.com/uploads. Теперь любой, кто набирает этот путь в браузере, может просматривать эти файлы. Я должен был сделать так, чтобы его могли просматривать только люди с доступом. Как мне это сделать? Благодарю.Сделать папки доступными только для пользователей
0
A
ответ
0
Вы должны использовать .htaccess для управления всем пользователем с логином и паролем.
Более подробная информация по ссылке: http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/
0
Шаг 1: не загружать файлы в папку внутри DOCROOT. То есть, если ваш корень документа равен /var/www/html
, сделайте местоположение для загрузки примерно /var/www/uploads
.
Шаг 2: Создайте файл доступа к файлам PHP, который проверяет подлинность администратора и принимает имя файла как параметр $_GET
. например http://site.com/accessfile.php?file=myfile.pdf
Внутри accessfile.php, вы можете написать небольшую программу, как показано ниже:
header("Content-Disposition: attachment");
file_get_contents("/var/www/uploads/{$file}");
Шаг 3: Если администратор должен просмотреть, создать быстрый вариант просмотра:
function &list_directory($dirpath) {
if (!is_dir($dirpath) || !is_readable($dirpath)) {
error_log(__FUNCTION__ . ": Argument should be a path to valid, readable directory (" . var_export($dirpath, true) . " provided)");
return null;
}
$paths = array();
$dir = realpath($dirpath);
$dh = opendir($dir);
while (false !== ($f = readdir($dh))) {
if (strpos("$f", '.') !== 0) { // Ignore ones starting with '.'
$paths["$f"] = "$dir/$f";
}
}
closedir($dh);
return $paths;
}
Смежные вопросы
- 1. Как сделать папки доступными для сеансов?
- 2. Как сделать пользовательские отчеты доступными только для пользователей портала?
- 3. Rails: Как сделать действия контроллера доступными только для связанных пользователей
- 4. Как сделать некоторые продукты доступными только для премиум-пользователей
- 5. Сделать файлы Amazon S3 доступными только для зарегистрированных пользователей
- 6. Как сделать некоторые папки доступными только для аутентифицированных пользователей или определенных ролей в ASP MVC?
- 7. Как сделать отчеты SSRS доступными для пользователей?
- 8. Сделать латексные шрифты доступными для всех пользователей для компиляции php
- 9. Как сделать поля доступными для пользователей в Drupal 7?
- 10. Как сделать рубиновые драгоценности доступными для всех пользователей?
- 11. Как сделать документы доступными только для чтения в библиотеках документов
- 12. Сделать классы доступными только статическим объектом
- 13. Сделать файлы доступными для скачивания
- 14. Как сделать таблицу с доступными рядами доступными
- 15. Drupal 6: Как я могу сделать определенные узлы доступными только для определенных пользователей?
- 16. Как сделать некоторые ячейки в столбце DataGrid доступными для редактирования, оставив другие доступными только для чтения?
- 17. сделать ячейки Excel доступными только для чтения с использованием EPPLUS
- 18. Как сделать данные Firebase доступными для чтения?
- 19. Как сделать действия WebAPI доступными только из моего приложения?
- 20. Как сделать данные доступными для анонимной функции
- 21. PHP: сделать файлы папки доступными, только после успешного входа в систему
- 22. Как сделать файлы не доступными?
- 23. SVN Eclipse игнорировать папки для всех пользователей
- 24. Как сделать активные услуги доступными?
- 25. Как сделать слои плитки для листов доступными
- 26. Сделать настройки пользователя доступными для приложения
- 27. Как сделать implicits доступными для отражения
- 28. Как сделать доступными данные $ .get() для js?
- 29. Сделать данные доступными для обработчика событий FileSystemWatcher
- 30. Как сделать purecomputed наблюдаемые доступными для записи?
Используйте '.htaccess' и' .htpasswd' - остановите их прямо на своих дорожках. –
Но если они набирают весь путь i.e: www.mysite.com/uploads/name.doc, они все равно не получат доступ к нему? И как я могу позволить администратору по-прежнему обращаться к папке/файлам. Я использую php btw. –
Как работает ваш PHP? Использование FastCGI или Apache? –