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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как запретить просмотр файлов в директории выше заданной
если скрипту передать такой путь : '../../../..' то он отобразит файлы и папки в директории сайта там где index, а если такой '../../../../..' то полезет выше и выведет все сайты на хосте.
В интерфейсе это ограничено, но если сделать подмену то попасть выше в директорию возможно, как можно это дело ограничить?
dcc0
Отправлено: 30 Сентября, 2014 - 19:54:41
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
3d_killer пишет:
как можно это дело ограничить?
правами unix пользователя. php или апач запущен от какого нибудь www-data, вот и дать ему права только на одну свою папку и никуда выше он не полезет
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
3d_killer
Отправлено: 30 Сентября, 2014 - 19:59:57
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
на том хосте править его нет возможности (Добавление)
так апач то запущен один для всех сайтов (Добавление)
если проставить с помощью директивы ini_set то администратор может то отредактировать это
MiksIr
Отправлено: 30 Сентября, 2014 - 20:06:58
Забанен
Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
MiksIr дело в том что администратор имеет права для редактирования этих скриптов, ему не составит труда удалить эту проверку
MiksIr
Отправлено: 30 Сентября, 2014 - 20:33:21
Забанен
Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014
Помог: 10 раз(а)
[+]
Вы хотите защитить просмотр директорий выше текущей для администратора, который может редактировать php скрипты?
Тогда советы выше: chmod или open_basedir
В 5.3+ можно ужесточать open_basedir
----- self-banned
3d_killer
Отправлено: 30 Сентября, 2014 - 20:43:26
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
не пойму что прописывать в php.ini пробую на денвере
на сервере три сайта
1
2
3
как сделать так чтобы находясь на 3 я не мог просматривать файлы выше 3, ну и на других тоже соответственно?
dcc0
Отправлено: 30 Сентября, 2014 - 21:47:04
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
Пример
open_basedir=/var/www
Скрипт сможет погрузиться в глубины директории, а вот глотнуть свежего воздуха из /var уже нет
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
это да а если с первого сайта я кину переменную ../../../../2/
то тогда он попадет на второй сайт?
dcc0
Отправлено: 30 Сентября, 2014 - 22:27:03
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
Мда, веб-сервер-то от одного пользователя работает, а если сайтов несколько, то...
придется придумывать какое-то правило ... чтобы работало для каждого виртуального хоста
----- Март 2021. Бросил программирование
3d_killer
Отправлено: 30 Сентября, 2014 - 22:29:26
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
да печалька
dcc0
Отправлено: 30 Сентября, 2014 - 23:14:32
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
В качестве предположения:
попытаться в тот же open_basedir после корня указать какую-то гипотетическую переменную, хранящую виртуальный хост.
Что-то вроде /var/ww/$VARIABLE
(если это возможно)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.