|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
Скачивание файлов только авторизованными пользователями11.05.2018, 09:45. Показов 4403. Ответов 22
Метки нет (Все метки)
Коллеги, привет!
Есть некая CRM, в которую клиент может подгружать определенные типы документов (размер одного файла не превышает 4Мб). Стандартно можно просто загружать их в файловую систему хостинга, но в таком случае при наличии прямой ссылки этот(и) документ(ы) может получить кто угодно, что, мягко говоря, нежелательно. Можем каталог с файлами закрыть с помощью .htaccess. Но тогда и сам скрипт CRM теряет доступ к этим файлам. Нашел хорошую статейку на хабре https://habr.com/post/151795/ Что думаю: вынести папку хранения файлов выше каталога с сайтом, чтобы они не были доступны снаружи по прямым ссылкам и отдавать одним из способов, описанных в статье. Вопрос, собственно, таков: описанные решения лишь вкратце "разжеваны" с точки зрения оптимальности использования. Подскажите, пожалуйста, какой из способов будет наиболее эффективен? Заранее благодарен
0
|
|
| 11.05.2018, 09:45 | |
|
Ответы с готовыми решениями:
22
Скачивание файлов с сайта только после регистрации Скачивание только новых файлов
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
|
|
| 11.05.2018, 10:04 | |
|
Laroux, делаю примерно как описано в статье. В скрипте проверяю авторизацию, если авторизован - отдаю файл на скачивание, сами файлы недоступны по прямой ссылке.
1
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 11.05.2018, 10:18 [ТС] | |
|
а каким способом из предложенных в статье?
Добавлено через 10 секунд и почему?)
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
|
|
| 11.05.2018, 10:26 | |
Сообщение было отмечено Laroux как решение
Решение
Laroux, первый, потому что самый простой и не было замечено проблем с производительностью.
1
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 11.05.2018, 10:47 | |
|
Laroux, третий. Однако в статье абсолютно верно сделано то, что код помещен в одну и ту же функцию. Первый способ обычно устанавливается по умолчанию. А на деле используется третий. Второй - это пародия на первый.
0
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 11.05.2018, 10:53 [ТС] | |
|
Может быть третий хорош, если файлы имеют большой размер? Или в любом случае надо юзать, в моем случае, апач?
Чем этот лучше первого?
0
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
||
| 11.05.2018, 11:13 | ||
|
Для HTTP и 4 Мб за раз - много. У третьего способа больше шансов на возможность "докачки". Вот эта фраза в полной мере дает понять, что первый способ подходит только для песочниц:
Иными словами первый способ вы можете использовать только для файлов, сопоставимых по размеру со среднестатистическими страницами. Речь, естественно, только об HTML.
1
|
||
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
||||||
| 11.05.2018, 11:34 [ТС] | ||||||
|
Понятно, спасибо.
А вот теперь к практической части:
0
|
||||||
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
|
|
| 11.05.2018, 11:45 | |
|
Laroux, а где отправка файла? Вы только заголовки отправляете.
0
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 11.05.2018, 11:51 | |
|
Jodah, он третий способ пробует.
1
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 11.05.2018, 11:52 [ТС] | |
|
Написал ровно как на хабре)
Посмотрел еще и описание https://tn123.org/mod_xsendfile/ но так и не понял, что значит "где отправка файла")) Поправьте мне скриптец, если не сложно? Заранее спасибо
0
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 11.05.2018, 11:54 | |
|
Laroux, модуль скачан, подключен к серверу?
Условие внутри функции выполняется? Функция realpath может, но не обязана подставлять путь к основному имени файла.
0
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 11.05.2018, 12:02 [ТС] | |
|
0
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 11.05.2018, 12:22 | |
|
На виртуальном хостинге у вас скорее всего ничего не получится. Это тоже своего рода песочница.
Но все же можете проверить доступность модуля: phpinfo.Добавлено через 6 минут Попробуйте способ 3b, если nginx также присутствует.
1
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
||
| 11.05.2018, 12:24 [ТС] | ||
|
пхпинфо не показывает)
Да ну и фиг с ним тогда.. все равно файлы в подавляющем большинстве от 200 до 400кб. Изредка до метра... бум юзать первый способ да и всех делов. Ребзики, спасибо за подсказки! Добавлено через 52 секунды
0
|
||
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
||
| 11.05.2018, 12:40 | ||
|
Хотя не нужно оно вам. Когда понадобится, сами поймете или недовольные пользователи объяснят
0
|
||
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 11.05.2018, 12:56 [ТС] | |
|
ок)
0
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 16.05.2018, 17:51 [ТС] | |
|
Ситуёвина: есть куча файлов документов, которые лежат хоть и по суперпуперзамудрёным папкам, но, тем не менее, доступны по прямым (повторюсь, что капец каким мудрёным) ссылкам извне.
Как можно быстро ограничить к ним доступ, чтобы обращаться к ним можно было только из PHP-скриптов? Какие идеи?
0
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 16.05.2018, 21:08 | |
|
Вы забыли, что мы обсуждали в этой теме?
Добавлено через 5 минут Уберите в защищенное место, сохранив структуру каталогов, и предоставляйте к ним доступ только авторизованным пользователям. Если файлы "интересны" исключительно самим скриптам, то и вовсе не нужна никакая авторизация.
0
|
|
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 16.05.2018, 23:46 [ТС] | |
|
Не забыл))
Я просто надеялся, что варик как-то без переноса в "защищенное" место что-то придумать
0
|
|
| 16.05.2018, 23:46 | |
|
Помогаю со студенческими работами здесь
20
Скачивание инструкций зарегистрированными пользователями
Скачивание файлов Скачивание файлов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|