Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 143

Защита файловой системы от PHP

14.04.2016, 23:27. Показов 1173. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим сайт хранится по пути:
C:\Dev\webserver\www\site.ru

То есть с помощью например того include можно заполучить несанкционированный доступ ко всей файловой системе, как-нибудь так:

PHP
1
<? include ("C:\Windows\System32\any_file.extension"); ?>
И сделать с ним всё что угодно. И так с любым файлом на компьютере, просто указав абсолютный путь (ну или относительный, вида ../../../../Program Files/WebMoney).

Я думаю что такое возможно и поэтому в целях перестраховки хочу узнать мнение более опытных форумчан
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2016, 23:27
Ответы с готовыми решениями:

PHP ищет файлы не в корне сайта, а в корне файловой системы
Всем привет! Пытаюсь настроить локальный сервер на Mac OS X 10.9.5 и не могу понять PHP ищет например такой файл require_once...

Листинг файловой системы
Мне надо проиндексировать файлов. систему при помощи интерфейса (SWING, AWT). Хотелось бы знать возможно ли в одном пакете совместить...

Шаблон файловой системы
В общем, задание такое: Разработать файловую систем, за жёсткий диск принять бинарный файл. Реализовать создание/редактирование/удаление...

7
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.04.2016, 23:49
могу ошибаться (изучал теорию, но за меня подобное делает мой друг-админ), но это обычно делается на уровне доступа "пользователей" винды или линукса.
Например запускаете сайт под юзером website, которому даете доступ ТОЛЬКО к папке C:\Dev\webserver\www\site.ru
0
100 / 70 / 26
Регистрация: 19.12.2014
Сообщений: 332
15.04.2016, 12:18
Начнём с того, что запускать веб-сервер на windows - это глупость. Под виндой есть куча пакетов разработчика, например денвер, коим я лично пользуюсь. Но это пакет исключительно для разработки, но не для "живых" проектов. В общем не надо веб-сервер поднимать на винде.
В Linux есть жёсткое разделение прав доступа на уровне пользователей. Это, в общем-то, справедливо и для винды, но там всё намного хуже.
Но это ещё не всё: хорошо спроектированный сайт должен предоставлять доступ "из вне" исключительно к тем файлам, которым этот доступ необходим, даже в пределах DOCUMENT_ROOT.

Добавлено через 5 минут
З.Ы. Однажды мне довелось учавствовать в разработке сайта, работающего на Windows Server и база у него была в MSSQL Server. Мне тот проект достался уже в начатом, но не законченном виде, поэтому не знаю зачем оно вообще надо. Есть интеграция с КИС, но она всё равно происходит импортом/экспортом через внешние файлы.
В общем более идиотских решений я не встречал.
0
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
15.04.2016, 16:34
Цитата Сообщение от HardSEO Посмотреть сообщение
Я думаю что такое возможно
ну и что. во первых это проблемы админа сервера, а во вторых не пишите код который позволит ввести пользователю такую команду. или у вас открыт доступ к исходникам php? ну это зря..
0
100 / 70 / 26
Регистрация: 19.12.2014
Сообщений: 332
15.04.2016, 17:52
wq, тут есть ещё одна неявная проблема: вирусы. Если они появятся в одном месте, то могут разбежаться и по всему серверу. И если на сайте десяток сайтов, то вирусы будут везде. Ох и нелёгкая это работа, потом искать через какую щель и через какой сайт вирус просочился.
Поэтому на linux-серверах хорошая практика для каждого сайта выделять отдельного пользователя, предотвращая тем самым перетекание вирусов с одного сайта на другой. Ещё успешный ход - это разделить пользователя, от имени которого работает веб-сервер и пользователя, под которым по фтп подключаемся. Тогда можно по фтп выставить нужные права и даже если вирус попадёт на сайт, то не сможет писать свой код куда попало.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
19.04.2016, 05:58
Цитата Сообщение от wq Посмотреть сообщение
во первых это проблемы админа сервера, а во вторых не пишите код который позволит ввести пользователю такую команду
В коде могут быть "дыры". Когда введя (например) иньекцию в SQL пробиваешь узенькую дырочку для запуска СВОЕГО кода на "той стороне". Качество защиты зависит от опыта автора и новичок может наделать ошибок.

Цитата Сообщение от cia Посмотреть сообщение
Начнём с того, что запускать веб-сервер на windows - это глупость.
Иногда без этого не обойтись! Есть программы, которые успешно написаны под винду. А к ним надо ДАТЬ ДОСТУП из интернета. Например переупаковка файлов - залил файл, получи ответ. Даже к некоторым станкам делали ТОЛЬКО виндовое управление.

Лично сталкивался с 1С77(работает ТОЛЬКО под винду) которая давала доступ к НЕКОТОРЫМ своим данным через php+Апач скрипты (покупаемый "набор") - то-есть база фирмы-"миллионника" позволяла читать "живой" (розничный) прайс и остатки по складам прямо на сайте внешним заказчикам. А если бы их "взломали", то получили бы доступ и ко всем оптовым ценам, и к оборотам, и к списку клиентов, и к клиенским "вип"-ценам... А это практически "слив" фирмы конкурентам... А без виндового сервера надо писать свое, пробивать "тунель" к винде с линуксового сервера... защита шла ТОЛЬКО на опыте администраторов...
0
100 / 70 / 26
Регистрация: 19.12.2014
Сообщений: 332
19.04.2016, 12:13
Разумеется, всегда есть особые случаи. Собственно, потому и существует "виндовый" апач.

Что касается 1с, то для него есть возможность выгрузить данные по фтп и отправить Post-запрос. Я однажды делал именно так. В 1С запускается обработка, которая формирует пакет данных, выгружает его на сервер с сайтом и отправляет post-запрос, который, в свою очередь, запускает импорт. И никаких уязвимостей я тут не вижу.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
19.04.2016, 17:23
Цитата Сообщение от cia Посмотреть сообщение
Что касается 1с, то для него есть возможность выгрузить данные по фтп и отправить Post-запрос. Я однажды делал именно так. В 1С запускается обработка, которая формирует пакет данных, выгружает его на сервер с сайтом и отправляет post-запрос, который, в свою очередь, запускает импорт. И никаких уязвимостей я тут не вижу.
Это "медленный" способ! А быстрый заключается в прямом подключении к dbf файлам (или позднее к MSSQL серверу)... Чтение "напрямую" при каждом запросе. При этом всегда уверен что на странице данные с секундной задержкой, а не "когда оператор отправил последний раз". Конечно в 1С8 это доработали, но в старой 1С77 было именно так... Если фирма большая, запросы частые, товары и остатке на складах постоянно меняются... Да и еще можно запрашивать долги по клиентам("покажи мне мои долги и мои документы за месяц"-такое не всем нужно и "выгрузка" буде ОЧЕНЬ долгой по всем клиентам) или "вип-цены" в прайсе ("отклонения" по избранным товарам лично под клиента или на группу, или динамический % скидки на избранные товары, или динамический дисконт зависящее от суммы закупок клиентом). И получается что php имел доступ напрямую к dbf!!! И при взломе мог изменить их или просто убить базу - только админ спасал, со своими "только для чтения" и "только к этому файлу"...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2016, 17:23
Помогаю со студенческими работами здесь

События файловой системы
Есть такая задача: реагировать на изменения в указанных файлах. Всё, что я нашёл - это класс WatchService из пакета java.nio.file. С его...

Моделирование файловой системы
Разработать программу моделирующую файловую систему. Данная программа должна размещать файлы в виде связанного списка кластеров. За...

Эмулятор файловой системы
Всем привет. Есть задание-написать эмулятор файловой системы NTFS. В гугле примеров что-то не нашел. Тыкните ссылку, может где то уже...

Минифильтр файловой системы
Здравствуйте. Пытаюсь разобраться с механизмом запрета доступа к файлам. Взял минифильтр из этой статьи...

Шаблон файловой системы
В общем, задание такое: Разработать файловую систем, за жёсткий диск принять бинарный файл. Реализовать создание/редактирование/удаление...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru