Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2018, 11:02
Интересующийся
Отправить личное сообщение для skitskis Посмотреть профиль Найти все сообщения от skitskis
 
Регистрация: 07.11.2017
Сообщений: 21

Запрет прямого доступа к личным файлам
Добрый день!

Необходимо запретить прямой доступ к фалам для неавторизованных пользователей сайта. Сам сайт полностью закрыт, попасть на него возможно только после авторизации. Пользователь может загрузить на сайт свои фалы (картинки, pdf, архивы, word, exel и т.д.).

Если знать прямой путь к фалу, то его можно просматривать без авторизации.
Как более грамотно защитить фалы пользователя от прямого доступа?

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 21.01.2018, 11:07
Интересующийся
Отправить личное сообщение для skitskis Посмотреть профиль Найти все сообщения от skitskis
 
Регистрация: 07.11.2017
Сообщений: 21

Возможно ли проверит наличие сессии через .htaccess, если она существует, то отдать пользователю в ответ файл, если нет, то перенаправить на страницу авторизации?
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2018, 17:19
Профессор
Отправить личное сообщение для psiklop Посмотреть профиль Найти все сообщения от psiklop
 
Регистрация: 04.03.2015
Сообщений: 163

Создай для каждого пользователя директорию из хеша sha1 к примеру с названием, и при каждой авторизации переименовывай ее.
Ответить с цитированием
  #4 (permalink)  
Старый 18.03.2018, 22:23
Профессор
Отправить личное сообщение для psiklop Посмотреть профиль Найти все сообщения от psiklop
 
Регистрация: 04.03.2015
Сообщений: 163

Но это конечно имеет изьяны, вот способ получше:

У юзера своя директория создается при регистрации, к примеру хеш от логина и времени регистрации.

В директории создается .htaccess такого содержания
RewriteEngine on
RewriteCond %{HTTP_COOKIE} !access=имя директории
RewriteRule ^ - [F,L]

При авторизации ставится кука 'access' с именем этой директории.

Последний раз редактировалось psiklop, 18.03.2018 в 22:28.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск