Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
1

Как правильно ограничить php скрипты виртуального хостинга в пределах директории сайта?

16.02.2018, 02:15. Показов 1063. Ответов 12

Author24 — интернет-сервис помощи студентам
На локальном компьютере установлена связка WAMP. Сайты разложены по папкам и настроены виртуальные хосты. В каждую ложатся php-скрипты, для своего сайта. Для защиты от возможных нежелательных действий используется директива open_basedir в httpd.conf. Однако для многих CMS она почему-то вызывает местами «глюки», например если в httpd.conf:

Код
 php_value open_basedir "S:/www/mysite.ru/"
то можно столкнуться с такими сообщениям в процессе работы со скриптами:

Warning: is_file(): open_basedir restriction in effect. File(S:/www/mysite.ru/S:/www/mysite.ru/admin/media/style/common/welcome.tpl)

ИМХО: Что вероятно свидетельствует о том, что в результате применения директивы - скрипт не может адекватно получить путь root из какой-то системной переменной. Больше склоняюсь, что какая-то неверная настройка, чем ошибка в работе скриптов.

Как правильно ограничить действия php скриптов своим виртуальным хостом другим способом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2018, 02:15
Ответы с готовыми решениями:

Как правильно сделать трансфер сайта с хостинга
Здравствуйте, Я в свое время имел сайт на хостинге и также на сайте был HTTPS протокол. Я перед...

Как ограничить перемещение кнопки в пределах диапазона
Доброго времени суток! Пытаюсь сделать свой track bar но с несколькими ползунками, которые будут...

Создание виртуального хостинга
Здравствуйте! На работе поставили задачу создать виртуальный хостинг. Полазив в гугле толкового...

Как построить правильно структуру сайта и разделить php и html?
Здравствуйте! Подскажите с какого боку подступиться к созданию сайта(нормального))) Читала код...

12
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
16.02.2018, 07:35 2
Цитата Сообщение от Eskander88 Посмотреть сообщение
На локальном компьютере.... Для защиты от возможных нежелательных действий используется директива open_basedir в httpd.conf.
Наши руки не для скуки? выкиньте эти директивы из httpd.conf и php.ini. На локальном сервере они не нужны, а на хостинге - это вообще не ваше дело.
Цитата Сообщение от Eskander88 Посмотреть сообщение
S:/www/mysite.ru/S:/www/mysite.ru/..
в коде неправильно формируются пути к файлу. директивы настроек сервера здесь никак не влияют
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.02.2018, 09:29 3
Цитата Сообщение от Eskander88 Посмотреть сообщение
ИМХО: Что вероятно свидетельствует о том, что в результате применения директивы - скрипт не может адекватно получить путь root из какой-то системной переменной.
Скорее кто-то неправильно формирует путь к файлу.
Цитата Сообщение от Eskander88 Посмотреть сообщение
S:/www/mysite.ru/S:/www/mysite.ru/admin/media/style/common/welcome.tpl
0
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
16.02.2018, 22:01  [ТС] 4
не фсё так просто... если бы так было, так то ошибка была другого характера, что путь указан неверно..

вроде этого
Warning: file_get_contents(../blabla/target.txt): failed to open stream: No such file or directory in S:\www\mysite.ru\tst.php on line 7

Залез в CMS посмотрел код в строке с ошибкой, ничего там сверхъестественного нету, все переменные с правильными путями..

Хочу уточнить CMS без open_basedir работает нормально. Если бы ошибка была с неправильными путями, то выдавалась бы такая инфа при выключенном "open_basedir"

Warning: file_get_contents(../outside.txt): failed to open stream: Operation not permitted in S:\www\mysite.ru\tst.php on line 7

Проблема в аномалиях работы сервера, которые связаны с open_basedir
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.02.2018, 22:04 5
Цитата Сообщение от Eskander88 Посмотреть сообщение
Проблема в аномалиях работы сервера, которые связаны с open_basedir
Еще раз, никаких аномалей с open_basedir нет. С путем явно что-то не так, вот и надо разобраться откуда он такой берется
0
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
16.02.2018, 22:08 6
Eskander88, уберите ненужные директивы и посмотрим останется ли ошибка. Чего гадать-то...
0
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
17.02.2018, 20:14  [ТС] 7
тогда уточняю... Без директивы open_basedir никакой ошибки нету! Если бы была ошибка в логике работы скрипта, то из-за этого была бы ошибка по любому! Вроде такого:
Цитата Сообщение от Eskander88 Посмотреть сообщение
Warning: file_get_contents(../outside.txt): failed to open stream: Operation not permitted in S:\www\mysite.ru\tst.php on line 7
Данная проблема периодически вылезает в разных разделах CMS что мешает тестированию сайтов на локалке.

Директива нужна, т.к. кто его знает что туда зальют или каким атаком сайт подвергался.. а без open_basedir можно даже .exe шник записать в директорию

Добавлено через 7 минут
вообще кто как организует песочницу для локальных хостов? ... я понимаю что народ тупо наверное забивает в большинстве.. но всё же
0
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
17.02.2018, 20:16 8
Если вы настаиваете на том что виновата данная директива и невозможно получить корневую директорию, то вините в этом не CMS, не php, а WAMP! Ставьте по инструкции разработчика апач, подключайте к нему php, устанавливайте MySQL и не пользуйтесь левыми сборками. Правильная система развертывается за полчаса на винде. И без глюков
0
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
17.02.2018, 20:26  [ТС] 9
... ну если честно собирал WAMP в ручную, из оф. репозитариев php, apache, MySQl
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
17.02.2018, 20:26 10
Eskander88, т.е видя вот такой путь S:/www/mysite.ru/S:/www/mysite.ru/admin/media/style/common/welcome.tpl ты продолжаешь утверждать что нет проблем с логикой скрипта? Ну чтож, учачи
0
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
17.02.2018, 21:15  [ТС] 11
нет, я конечно допускаю, что кодер мог не знать о каком-то архаизме или супер нюансе.. но визуально всё впорядке, смотрел в узле по get_defined_vars().. объясните пожалуйста игнор такой очевидной вещи. Если код железобетонен, и ошибка всплывает из-за неправильного пути в переменной, когда включена open_basedir, то - и когда она будет выключена, будет принтеть Ошибку!!! Или нет???

Добавлено через 41 минуту
.....
не знаю , как вот пояснить... мне в принципе всё равно, что там не так и как... есть ли реальный способ ограничить действия скриптов в границах корневой сайта??? Т.е. что там использовал разработчик...
Ну если серьёзно, на хостинге записать вне корневую сайта нельзя! Тем не менее CMS не бесится... работает норм..
Может просто вырубают сообщения об ряде ошибок из этой категории? Есть какие-нибудь предположения?
0
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
20.02.2018, 15:10  [ТС] 12
Пришлось тесно заняться проблемой и провести тесты вне своего задания. Оказалось, что на хостинге php-скрипты могут выходить за пределы папки сайта написал в саппорт, посмотрю как они это прокомментируют с точки зрения безопасности?
0
12 / 17 / 2
Регистрация: 02.11.2015
Сообщений: 222
21.02.2018, 20:21  [ТС] 13
.. нашёл зацепку! Не предавал этому значение, а теперь вот заметил... у меня на локалке настроен доступ по http:// и https://, если сайт конечно присланный сайт https:// и есть возможность скопировать файлы ключа на локалку...


так вот.. когда на локалке обращаюсь по https:// то open_basedir не работает, а вот когда http:// то сразу идут ошибки, что скрипт не имеет прав доступа выше своей директории... весело короче
0
21.02.2018, 20:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2018, 20:21
Помогаю со студенческими работами здесь

Настройка виртуального хостинга Apache для всех компьютеров сети
Суть проблемы: На компьютере установлен Apache+PHP+Mysql... Настроены виртуальные хосты, и можно...

Php, соединение элементов шаблона сайта между собой. как правильно?
Сейчас приведу пример конструкции сайта. Имеем, допустим, 3 файла php. 1. head.php (шапка)...

Парсинг Сайта(не могу понять как правильно спарсить сгенерированную php таблицу )
Добрый вечер Форумчане! Есть много сгенерированных html таблиц Вот один из них Код: <TR...

Как получить переменную с сайта (Хостинга)?
Сильно упростил код, что бы вам было проще. Есть такой код в юньки: using UnityEngine; using...

Как правильно подключить стили и скрипты?
ПОМОГИТЕ - МОЙ ПЕРВЫЙ САЙТ 1- Есть сайт сделанный на WP - скопирован (например с САЙТНАWP.com) ...

Как правильно загрузить ASP скрипты?
Куда на сервере надо загружать ASP скрипты в какой каталог или это без разницы или надо в cgi-bin...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru