С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
13 / 13 / 2
Регистрация: 01.06.2013
Сообщений: 245

Как защитить файлы от прямоо доступа

11.04.2023, 12:01. Показов 1404. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, такой вопрос.

У меня оказалось, что все файлы сайта выглядывают наружу в прямой доступ.
Есть ли способ защитить эти файлы и давать доступ только авторизованным? или как-то иначе. (htaccess?)
p.s. ссылки прямые
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2023, 12:01
Ответы с готовыми решениями:

Как защитить код от доступа?
как защитить код от доступа?

Как защитить файлы include'a
Как сделать, чтобы файл можно было только include'ить и все. Чтобы нельзя было вызвать например меню моего сайта так :...

Как защитить файлы от копирования
подскажите пожста есть файлы. они на компе на жестком диске. как сделать чтобы их нельзя было скопировать на флеш. так как проходимцев тут...

21
 Аватар для sad67man
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
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
11.04.2023, 13:50
Цитата Сообщение от VeTal4ik Посмотреть сообщение
sad67man, А разве если я их сейчас перемещу в каталог выше, они не перестанут быть доступными для всех?
Нужно будет переделывать/добавлять обработку их получения?
Тут нужно определиться, есть файлы, которые сами по себе напрямую не должны открываться по прямой ссылке. А являются частью системы, к примеру подключаемый файл с функциями или какая-нибудь консольная команда, которую вы можете вызывать по cron и т.д. Такие файлы не должны быть доступны по прямой ссылки никогда.

А есть запросы/операции, которые требуют управлением прав доступа, это уже другая ситуация.
0
13 / 13 / 2
Регистрация: 01.06.2013
Сообщений: 245
11.04.2023, 13:53  [ТС]
sad67man, Тогда, полагаю, мой вариант второй. Это не системные файлы, а пользовательские, которые должны быть доступны ИМ, но не доступны другим. Получается дело в способе получения файлов и нужно идти ковырять код?
Я правда вот чего не пойму, собственно, эта идея в вопросе и лежит:

Например, если сделаю обработку получения файла "Если пользователь принадлежит группе N, то предоставить файл"
Но конечная же ссылка этого файла всё-равно остаётся прямой. Мне кажется так не сработает, или это на уровне системы делается?
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
11.04.2023, 14:48
Цитата Сообщение от VeTal4ik Посмотреть сообщение
У меня оказалось, что все файлы сайта выглядывают наружу в прямой доступ.
Показывается содержимое php? Тогда это не работает php на сервере.
Или что значит "выглядывают"? Почему файлы не должны "выглядывать"?
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
11.04.2023, 15:25
Цитата Сообщение от VeTal4ik Посмотреть сообщение
Тогда, полагаю, мой вариант второй.
Да. Из первого сообщения это вполне понятно.

Варианта непосредственной защиты (без рассмотрения предварительных действий) два:
- обработка авторизации и успешный ответ (отправка файла) непосредственно сервером;
- обработка авторизации скриптом и успешный ответ скриптом (обычно медленно) или сервером.

Третий вариант, когда обработка авторизации выполняется сервером, а успешный ответ - скриптом, можно не рассматривать.
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
11.04.2023, 15:33
Цитата Сообщение от estic Посмотреть сообщение
Варианта непосредственной защиты (без рассмотрения предварительных действий) два:
И оба требуют "предварительных действий"

А вариантов больше. Только нет смысла гадать пока ТС однозначно не объяснит что ему нужно.
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
11.04.2023, 15:56
К предыдущему сообщению. Когда в работе участвует скрипт, файлы могут размещаться "выше" корня для лучшей защиты, если в команде от скрипта серверу позволено сообщать местоположение файла "выше" корня (т.е. местоположение в "любом" месте файловой системы, а не только в корне сайта).

Цитата Сообщение от Lazor Посмотреть сообщение
И оба требуют "предварительных действий"
Да, имелись в виду предварительные действия по предоставлению пользователю авторизационных данных. Хотя можно запросить аутентификацию прямо в процессе обработки авторизации при доступе к файлу.

Цитата Сообщение от Lazor Посмотреть сообщение
А вариантов больше.
Например?
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
11.04.2023, 16:54
Цитата Сообщение от estic Посмотреть сообщение
файлы могут размещаться "выше" корня для лучшей защиты,
Я не стал сразу писать, но сейчас напишу.
Размещение файлов сайта вне каталога вебсервера - это бэдпрактик.
Когда делаешь поделку для себя любимого и уверен, что не забудешь - ещё ладно. Но когда для клиента - это просто недопустимо.
Безопасность нужно обеспечивать другими методами.

Цитата Сообщение от estic Посмотреть сообщение
Да, имелись в виду предварительные действия по предоставлению пользователю авторизационных данных.
В этом случае предварительно нужно сделать не только систему авторизации, но и механизм доступа к файлам.

Цитата Сообщение от estic Посмотреть сообщение
Например?
Например как в некоторых движках - определять некую константу в конфиге (или ином месте) и проверять её в файлах.
Или сделать простой механизм "реферера".
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
11.04.2023, 17:29
Цитата Сообщение от Lazor Посмотреть сообщение
Размещение файлов сайта вне каталога вебсервера - это бэдпрактик.
Спасибо, развеселил

Цитата Сообщение от Lazor Посмотреть сообщение
Например как в некоторых движках - определять некую константу в конфиге (или ином месте) и проверять её в файлах.
По-моему, уже все поняли, что в теме речь не о программных файлах

Цитата Сообщение от Lazor Посмотреть сообщение
Или сделать простой механизм "реферера".
Авторизация на основе "простого механизма "реферера"" - это сильно. Признаю, что я до этого не додумался
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
11.04.2023, 17:34
Цитата Сообщение от estic Посмотреть сообщение
По-моему, уже все поняли, что в теме речь не о программных файлах
А о каких по твоему?

Цитата Сообщение от estic Посмотреть сообщение
Авторизация на основе "простого механизма "реферера"" - это сильно.
У тебя какой-то глюк с авторизацией. Авторизация -исключительно твоя придумка.
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
11.04.2023, 18:07
Цитата Сообщение от Lazor Посмотреть сообщение
А о каких по твоему?
Это не системные файлы, а пользовательские, которые должны быть доступны ИМ, но не доступны другим.

Цитата Сообщение от Lazor Посмотреть сообщение
У тебя какой-то глюк с авторизацией. Авторизация -исключительно твоя придумка.
Есть ли способ защитить эти файлы и давать доступ только авторизованным?

fin
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
11.04.2023, 18:44
Цитата Сообщение от estic Посмотреть сообщение
Это не системные файлы, а пользовательские, которые должны быть доступны ИМ, но не доступны другим.
Т.е. для тебя "пользовательские" = "клиентов ИМ"?
Я тебя разочарую, но "пользовательские" можно понимать по разному. Пользовательскими могут быть втч и файлы сайта.

(К тому же с учётом раздела форума скорее всего речь о php файлах, а не картинках)

Цитата Сообщение от estic Посмотреть сообщение
Есть ли способ защитить эти файлы и давать доступ только авторизованным?
Ты прям как первый раз на форумах Как будто не знаешь, что ТСы порой пишут не то, что хотят решить.

Вот поэтому я и просил уточнить ТСа о чём речь.
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
11.04.2023, 18:44
VeTal4ik, Приведите пример файла, на который вы собираетесь закрыть доступ.
0
11.04.2023, 19:08

Не по теме:

Извините за оффтоп вопрос.
В администрировании серверов НИ-МА особо.
А можно на чистом NGINX - использовать .htaccess или только на АПАЧЕ?

0
 Аватар для sad67man
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
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
13.04.2023, 13:35
Цитата Сообщение от VeTal4ik Посмотреть сообщение
Есть авторизованный юзер, он загружает к себе в профиль картинку
Тогда раздел форума выбран не совсем правильно, что ввело меня в заблуждение.

Цитата Сообщение от VeTal4ik Посмотреть сообщение
Моя проблема в том, что я не знаю как закрыть прямую ссылку по конкретному пользователю/по группе.
Неправильно мыслишь. Закрывать нужно от всех, а потом разрешать только нужным, тк

Цитата Сообщение от VeTal4ik Посмотреть сообщение
А должна быть только ему.
Тогда действительно нужна не только авторизация, но и проверка прав (точнее владения).

Для бинарников (не "программных файлах") это уже уровень сервера. Сервер должен по таким запросам не отдавать файлы, а передавать запрос в обработчик.
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
13.04.2023, 19:16
Цитата Сообщение от Lazor Посмотреть сообщение
нужна не только авторизация, но и проверка прав (точнее владения)
Авторизация это подразумевает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2023, 19:16
Помогаю со студенческими работами здесь

Как защитить PDF файлы в ASP.NET?
Kto nibudi znaet kak mojno ustanoviti security v ASP.NET application kotoraia daet dostup toliko k opredelennim PDF files. Gde lucishe...

Как защитить файлы на сервере от прямых ссылок?
Здравствуйте у меня на сайте воруют плеера мне надо как то сделать защиту от прямых ссылок. Вот так ссылка сейчас...

Как защитить файлы HTML от редактирования пользователем?
Моя программа использует файлы HTML, и в дальнейшем планируются некоторые операции с этими файлами. Можно ли как-то защитить эти файлы от...

Как защитить файлы шаблона .tpl от копирования
Что бы не своровали, программами типо teleport, Offline Explorer, WGET и т.д

Программа тестирования. Как можно защитить текстовые файлы?
У меня программа тест, она берет вопросы и ответы с txt файлов,как можно защитить текстовые файлы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru