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
Форумы портала PHP.SU :: Версия для печати :: Закрыть доступ к файлам
Форумы портала PHP.SU » » Вопросы новичков » Закрыть доступ к файлам

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

1. pantela - 16 Июня, 2017 - 22:02:30 - перейти к сообщению
В пользователи загружают свои файлы: фото профиля, скан паспорта, скан договора...
Форматы: JPG/JPEG, BMP, PNG, PDF

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

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

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

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

спс.Ув.
2. Мелкий - 16 Июня, 2017 - 22:53:16 - перейти к сообщению
Перенести за пределы document root, отдавать файлы скриптом после проверки прав доступа.
3. Vladimir Kheifets - 17 Июня, 2017 - 08:07:42 - перейти к сообщению
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
4. pantela - 19 Июня, 2017 - 17:46:25 - перейти к сообщению
Напр. если файл изображения пользователя я вывожу сейчас виде:
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.ph...1&topic=4123
5. Мелкий - 19 Июня, 2017 - 18:18:44 - перейти к сообщению
pantela пишет:
свои файлы: фото профиля, скан паспорта, скан договора...

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

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

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

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

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

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

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

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

Да и вообще пообщайтесь с юристами, как там нынче дела с персональными данными и какие требования к их хранению.
6. pantela - 19 Июня, 2017 - 18:26:18 - перейти к сообщению
Это всё мне надо для приложения компании, где всё-же хотелось бы скрыть макс. все файлы друг-от-друга... С Урид. стоторы всё ок...
Ну а файлы разные, начиная от аватарки до PDF сканов...

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


Можно прим. скрипта, материала как сделать...
спс.Ув.

 

Powered by ExBB FM 1.0 RC1