|
13 / 13 / 2
Регистрация: 01.06.2013
Сообщений: 245
|
|
Как защитить файлы от прямоо доступа11.04.2023, 12:01. Показов 1404. Ответов 21
Метки нет (Все метки)
Ребят, такой вопрос.
У меня оказалось, что все файлы сайта выглядывают наружу в прямой доступ. Есть ли способ защитить эти файлы и давать доступ только авторизованным? или как-то иначе. (htaccess?) p.s. ссылки прямые
0
|
|
| 11.04.2023, 12:01 | |
|
Ответы с готовыми решениями:
21
Как защитить код от доступа?
Как защитить файлы от копирования |
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
|
|
| 11.04.2023, 13:35 | |
|
VeTal4ik, Обычно такие файлы располагают на уровень выше, чем корень сайта. В корне сайта должны лежать файлы, доступные по прямой ссылке. Еще их можно сложить в отдельную папку, и закрыть всю папку через htaccess.
В некоторых CMS в каждом файле делают проверку на подключение ядра, но это такое себе решение.
0
|
|
|
13 / 13 / 2
Регистрация: 01.06.2013
Сообщений: 245
|
|
| 11.04.2023, 13:38 [ТС] | |
|
sad67man, А разве если я их сейчас перемещу в каталог выше, они не перестанут быть доступными для всех?
Нужно будет переделывать/добавлять обработку их получения?
0
|
|
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
|
||
| 11.04.2023, 13:50 | ||
|
А есть запросы/операции, которые требуют управлением прав доступа, это уже другая ситуация.
0
|
||
|
13 / 13 / 2
Регистрация: 01.06.2013
Сообщений: 245
|
|
| 11.04.2023, 13:53 [ТС] | |
|
sad67man, Тогда, полагаю, мой вариант второй. Это не системные файлы, а пользовательские, которые должны быть доступны ИМ, но не доступны другим. Получается дело в способе получения файлов и нужно идти ковырять код?
Я правда вот чего не пойму, собственно, эта идея в вопросе и лежит: Например, если сделаю обработку получения файла "Если пользователь принадлежит группе N, то предоставить файл" Но конечная же ссылка этого файла всё-равно остаётся прямой. Мне кажется так не сработает, или это на уровне системы делается?
0
|
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
||
| 11.04.2023, 15:25 | ||
|
Варианта непосредственной защиты (без рассмотрения предварительных действий) два: - обработка авторизации и успешный ответ (отправка файла) непосредственно сервером; - обработка авторизации скриптом и успешный ответ скриптом (обычно медленно) или сервером. Третий вариант, когда обработка авторизации выполняется сервером, а успешный ответ - скриптом, можно не рассматривать.
0
|
||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|||
| 11.04.2023, 15:56 | |||
|
К предыдущему сообщению. Когда в работе участвует скрипт, файлы могут размещаться "выше" корня для лучшей защиты, если в команде от скрипта серверу позволено сообщать местоположение файла "выше" корня (т.е. местоположение в "любом" месте файловой системы, а не только в корне сайта).
0
|
|||
| 11.04.2023, 16:54 | ||||
|
Размещение файлов сайта вне каталога вебсервера - это бэдпрактик. Когда делаешь поделку для себя любимого и уверен, что не забудешь - ещё ладно. Но когда для клиента - это просто недопустимо. Безопасность нужно обеспечивать другими методами. Или сделать простой механизм "реферера".
0
|
||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
||||
| 11.04.2023, 17:29 | ||||
![]() ![]()
0
|
||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|
| 11.04.2023, 18:07 | |
|
0
|
|
| 11.04.2023, 18:44 | |||
|
Я тебя разочарую, но "пользовательские" можно понимать по разному. Пользовательскими могут быть втч и файлы сайта. (К тому же с учётом раздела форума скорее всего речь о php файлах, а не картинках) Как будто не знаешь, что ТСы порой пишут не то, что хотят решить.Вот поэтому я и просил уточнить ТСа о чём речь.
0
|
|||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
|
|
| 11.04.2023, 18:44 | |
|
VeTal4ik, Приведите пример файла, на который вы собираетесь закрыть доступ.
0
|
|
| 11.04.2023, 19:08 | |
|
Не по теме: Извините за оффтоп вопрос.
0
|
|
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
|
|
| 11.04.2023, 19:10 | |
|
Царь Бабай, Только на Apache
1
|
|
|
13 / 13 / 2
Регистрация: 01.06.2013
Сообщений: 245
|
|
| 13.04.2023, 13:24 [ТС] | |
|
Речь не о программных файлах.
sad67man, Это документы doc,pdf,zip,jpg,png. Lazor, Постараюсь объяснить, Есть авторизованный юзер, он загружает к себе в профиль картинку, затем эта картинка становится доступна всем..му миру). А должна быть только ему. Здесь проблема в том, что загружается картинка в рабочую веб директорию и на нее формируется прямая ссылка, а раз ссылка прямая и директория в открытом каталове - файл выглядывает для всех, это логичное следствие. Моя проблема в том, что я не знаю как закрыть прямую ссылку по конкретному пользователю/по группе. Если класть вне каталога - доступа логично нет, если класть внутри - доступ естественно есть. Попробую поудумать над сообщением Как защитить файлы от прямоо доступа, звучит рабоче, но вообще непонятно xD
0
|
|
| 13.04.2023, 13:35 | ||||
|
Для бинарников (не "программных файлах") это уже уровень сервера. Сервер должен по таким запросам не отдавать файлы, а передавать запрос в обработчик.
0
|
||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
|
|
| 13.04.2023, 19:16 | |
|
0
|
|
| 13.04.2023, 19:16 | |
|
Помогаю со студенческими работами здесь
20
Как защитить PDF файлы в ASP.NET? Как защитить файлы на сервере от прямых ссылок? Как защитить файлы HTML от редактирования пользователем? Как защитить файлы шаблона .tpl от копирования Программа тестирования. Как можно защитить текстовые файлы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
|