Page 1 of 2

Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 5:26 pm
by draudigs
Так получилось что пришлось менять хостера после года его использования.Панелька естественно 17 версии, и тут возникла проблема - пхп файл менеджеры не читают директории выше той в которой они находятся.Версия пхп на новой панели 5.6.29RC1 на старой стояла пхп -5.4.45(панель 15),просмотр php.ini особо ничего не дал.
У меня раньше стоял elfinder который видел все сайты пользователя, было очень удобно для мелких фиксов,теперь он не работает.Так же не работают всякие вэб-шеллы вроде с99.
Вопрос куда копать, это нововведение последней панели или новой версии пхп?Про секюрность и тп понимаю но хотелось бы вернуть все как раньше.

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 5:51 pm
by Stesh
open_basedir?
Но тогда в логах будет характерная ругань.

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 6:24 pm
by draudigs
Stesh wrote:open_basedir?
Но тогда в логах будет характерная ругань.
Изменение этого параметра не повлекло нужного эффекта....

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 10:13 pm
by Stesh
draudigs wrote:
Stesh wrote:open_basedir?
Но тогда в логах будет характерная ругань.
Изменение этого параметра не повлекло нужного эффекта....
Зайдем с другой стороны. Какие ошибки в логах?

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 10:33 pm
by draudigs
Stesh wrote:
draudigs wrote:
Stesh wrote:open_basedir?
Но тогда в логах будет характерная ругань.
Изменение этого параметра не повлекло нужного эффекта....
Зайдем с другой стороны. Какие ошибки в логах?
Проблема решена, действительно дело было в open_basedir,однако мне следовало прежде чем ковырять общесистемные конфиги заглянуть в юзверьский конфиг /home/SOME-USER/conf/web/httpd.conf
после закомментирования строки php_admin_valueopen_basedir /bla:/bla шелл начал нормально работать(по крайней мере на virtualbox.. сейчас пойду проверять на реальном сервере)
Спасибо за наводку.

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 10:47 pm
by Stesh
Поиск ошибки всегда начинайте с чтения логов.
Как только в логе проскочит

Code: Select all

open_basedir restriction in effect, file is not within the allowed path
то open_basedir нужно будет покрутить, а именно добавить доверенные пути через двоеточие (которое выступает как разделитель).

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 11:18 pm
by draudigs
Stesh wrote: то open_basedir нужно будет покрутить, а именно добавить доверенные пути через двоеточие (которое выступает как разделитель).
Сейчас сравниваю этот конфиг с аналогичным от 15 версии, в 17добавились 3 строки для каждого хоста
<directory /home/user/bla>
.....some code
php_admin value open_basedir /blabla
php_admin value upload_tmp /bla
php_admin value session.save_path /bla


......some code

Я так понимаю добавлено для безопасности? То есть по сути если их убрать это не отразится на работе в целом...

Re: Проьлема с php в последней версии весты

Posted: Tue Nov 29, 2016 11:25 pm
by Stesh
Да, если и трогать, то только первую строку - она отвечает за то, куда можно лазить php
Вторая - путь к tmp, лучше не менять, третья - место хранения сессий, тоже лучше не менять.
open_basedir не панацея конечно, но иногда может выручить.

Re: Проьлема с php в последней версии весты

Posted: Wed Nov 30, 2016 7:51 am
by skurudo
draudigs wrote: Сейчас сравниваю этот конфиг с аналогичным от 15 версии, в 17добавились 3 строки для каждого хоста
...
Я так понимаю добавлено для безопасности? То есть по сути если их убрать это не отразится на работе в целом...
Да, по умолчанию сделать планировали давно и введено было в .16 версии. В предыдущих версиях так было только на одном темплейте. Теперь же есть на всех. Сделано это действительно ради обеспечения базовой безопасности, чтобы шелл залитый на один из доменов (не важно как он туда попал.. одна из частых причин - уязвимость в скрипте) не выходил за пределы директории.

Re: Проьлема с php в последней версии весты

Posted: Sun Dec 11, 2016 1:12 pm
by aleksndr
Часик добрый.У меня тоже с этим проблема.Не могу как админ скачивать файлы,которые залили пользователи(как гость могу и как пользователь).При загрузке выдаёт ошибку мускула
SQL ERRORShow

Code: Select all

SQL ERROR [ mysql4 ]

Unknown column 'dl_date' in 'field list' [1054]

SQL

INSERT INTO phpbb_tracker_downloads(downloader_id, dl_time, dl_ip, attach_id, post_msg_id, dl_date) VALUES('2', '1481450721', '94.253.110.151', '50223', '18958', '20161211')

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysql.php
LINE: 181
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysql->sql_query()

FILE: [ROOT]/ext/ppk/xbtbb3cker/controller/download.php
LINE: 496
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/ext/ppk/xbtbb3cker/controller/download.php
LINE: 393
CALL: ppk\xbtbb3cker\controller\download->send_torrent_to_browser()

FILE: (not given by php)
LINE: (not given by php)
CALL: ppk\xbtbb3cker\controller\download->main()

FILE: [ROOT]/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php
LINE: 109
CALL: call_user_func_array()

FILE: [ROOT]/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php
LINE: 55
CALL: Symfony\Component\HttpKernel\HttpKernel->handleRaw()

FILE: [ROOT]/app.php
LINE: 33
CALL: Symfony\Component\HttpKernel\HttpKernel->handle()
Ошибка в логах

Code: Select all

PHP Warning:  file_exists(): open_basedir restriction in effect. File(./@tatiana5_profileSideSwitcher/../../prosilver/theme/en/profile_side_switcher.css) is not within the allowed path(s): (/home/admin/web/natorrent.pro/public_html:/home/admin/tmp) in /home/admin/web/natorrent.pro/public_html/cache/twig/e5/e523e9fb98455ab4058371ced35a3829fad82deaf08eb79d6f6241ba08173541.php on line 73, referer: http://natorrent.pro/posting.php?mode=reply&f=32&t=2442
В /home/admin/conf/web-httpd.conf прописываю так - php_admin_value open_basedir none /home/admin/web/natorrent.pro/public_html:/home/admin/tmp
Перезагружаю сервер и при заходе на сайт-ошибка 502
Изначально выглядил httpd.conf вот так - php_admin_value open_basedir /home/admin/web/natorrent.pro/public_html:/home/admin/tmp