Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Закрыть доступ к файлам

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 16 Июня, 2017 - 22:02:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




В пользователи загружают свои файлы: фото профиля, скан паспорта, скан договора...
Форматы: JPG/JPEG, BMP, PNG, PDF

Хочу макс. закрыть доступ к файлам, чтобы было доступно третьим лицам.

Ну на серверной стороне создал файл .htaccess с Options -Indexes, но понимаю что этого не достаточно...

Наименование файлы сохраняю виде md5() 4c54abe60ae75a0978cf1c731f9cc129, сделал для того что бы пользователи не смогли узнать файл.

Какие ещё надо выполнить нюансы...?

спс.Ув.
 
 Top
Мелкий Супермодератор
Отправлено: 16 Июня, 2017 - 22:53:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Перенести за пределы document root, отдавать файлы скриптом после проверки прав доступа.


-----
PostgreSQL DBA
 
 Top
Vladimir Kheifets
Отправлено: 17 Июня, 2017 - 08:07:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




pantela пишет:
В пользователи загружают свои файлы: фото профиля, скан паспорта, скан договора...
Форматы: JPG/JPEG, BMP, PNG, PDF
Хочу макс. закрыть доступ к файлам, чтобы было доступно третьим лицам.


Добрый день! Разумеется доступ к файлам нужно давать только после авторизации пользователя.
В папку, в которой сохраняются эти документы можно добавить .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1. <FilesMatch ~ "\.(jpg|jpeg|bmp|png|pdf)$">
  2.   Order allow,deny
  3.   Deny from all
  4. </FilesMatch>

Eсли в папке сохраняются только документы,то .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1.   Order allow,deny
  2.   Deny from all

Можете быть найдёте что-то полезное здесь:
http://www[dot]securityscripts[dot]ru/ar[dot][dot][dot]te-htaccess[dot]html

(Отредактировано автором: 17 Июня, 2017 - 10:10:24)

 
 Top
pantela
Отправлено: 19 Июня, 2017 - 17:46:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Напр. если файл изображения пользователя я вывожу сейчас виде:
CODE (html):
скопировать код в буфер обмена
  1. <img src="/uploaded/users/avatar/1003.jpg">


А другой пользователь напр.:
<img src="/uploaded/users/avatar/1001.jpg">

Если будет предоставлять файл через скрипт получаеться вывод будет вроде:
<img src="get_avatar.php"> ?

И уже в файле get_avatar.php делать return, где буду возрашять путь до файла?

+ Наименование файлов наверное надо в md5() хотябы держать?
+ Если файлы не зна пределами document root, можно всё равно прикрыть доступ и только через скрипт давать...?

Вот вроде, что-то похожее http://www.php.su/forum/topic.php?forum=1&topic=4123

(Отредактировано автором: 19 Июня, 2017 - 18:10:08)

 
 Top
Мелкий Супермодератор
Отправлено: 19 Июня, 2017 - 18:18:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




pantela пишет:
свои файлы: фото профиля, скан паспорта, скан договора...

pantela пишет:
<img src="/uploaded/users/avatar/1001.jpg">

Ну вы уж определитесь. Или там аватарка которой грош цена и можно ничего не делать или там сканы персональных данных, т.е. наказуемая статья (не помню только, уже уголовная или ещё нет).

pantela пишет:
И уже в файле get_avatar.php делать return, где буду возрашять путь до файла?

Нет, читать сам бинарник и выплёвывать с необходимыми заголовками. Или выдавать служебный header для nginx'а (что лучше).

pantela пишет:
+ Наименование файлов наверное надо в md5() хотябы держать?

Цели?
Сначала определяемся с целями и от чего хотим прикрыться, потом выбираем средства.
Выводимые ссылки на файлы (только через скрипт, соответственно) - можно чем-нибудь прикрыть, если волнует видимость счётчика.

pantela пишет:
+ Если файлы не зна пределами document root, можно всё равно прикрыть доступ и только через скрипт давать...?

Значит перенести за пределы document root.

Да и вообще пообщайтесь с юристами, как там нынче дела с персональными данными и какие требования к их хранению.


-----
PostgreSQL DBA
 
 Top
pantela
Отправлено: 19 Июня, 2017 - 18:26:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Это всё мне надо для приложения компании, где всё-же хотелось бы скрыть макс. все файлы друг-от-друга... С Урид. стоторы всё ок...
Ну а файлы разные, начиная от аватарки до PDF сканов...

Если не переносить файлы за пределами root, наверное можно как-то прикрыть доступ... И давать только через скрипт... Хватит ли, скрипту наваерное он не закроет доступ.
CODE (htmlphp):
скопировать код в буфер обмена
  1. Order allow,deny
  2. Deny from all


Можно прим. скрипта, материала как сделать...
спс.Ув.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB