Comments 27
При чём тут Ubuntu Xenial, если вы скопировали этот файл вручную?
На убунте пхп 7 имеет отдельные папки для конфигов и она создаёт там новые конфиги при установке.
При чём тут Ubuntu Xenial, если вы скопировали этот файл вручную?
У нас этот файл раскладывается ролью ansible, и при переделывании роли с php5 на php7 я его просто скопировал и проверил по документации, что все используемые директивы работают так же. Вне зависимости от используемого метода поставки настроек(ansible, puppet, dockerfile, AWS AMI, ...) — при обновлении проще скопировать старый файл, чем в новом вручную прописывать те же настройки. Даже если переписывать файл с нуля — кто-то по привычке поставит #
для комментария, и всё молча поломается.
Проблема возникает только в том случае, когда конфиг файл накатили от несовместимой версии. Ну так не накатывайте, перенести настройки или проверьте его на совместимость. Вот и всё решение.
Вас послушать — так и register globals с magic quotes надо вечно тянуть было.
>обновлять версию нельзя из-за проблем совместимости
sed -i 's/^#/;/' php.ini
Ужасная проблема совместимости. Исправить уйдут человекогоды.
Так в том и весь прикол, что при тестировании всё работает, только со значениями по-умолчанию. Если не используются загрузки больших файлов и другие явно ломающиеся вещи, то деградацию можно не заметить: странички открываются, все функции приложения работают, 500 не выпадает. А то, что оно начало отдавать X-Powered-By:
, больше не органичивает доступные PHP функции и на ошибки отдаёт пользователю стектрейс — с первого взгляда не видно.
>больше не органичивает доступные PHP функции
а это вообще зачем, кроме шаред-хостинга?
Вы наверное на сервере из под рута все время работаете? Исходя из логики «а зачем не из под рута, ведь доступ только у меня»:)
Дыры могут быть в любом сайте, отключение некоторых функций пхп это банально безопаснее, т.к. по крайней мере Вы можете быть уверены, что даже если Ваш пхп сайт ломанут, то хотя бы в консоли не смогут чего-нибудь выполнить через пхп.
Или Вы не в курсе что ОС тоже имеют уязвимости?
Trust noone:)
Вот, кстати, ничего так пример обхода ограничений https://habrahabr.ru/company/pentestit/blog/227497/
Если совмещать, это другой вопрос.
Отключение функций это повышение безопасности, а не иллюзия, т.к. доступ из консоли имеет больше возможностей и прав, чем доступ непосредственно их пхп.
А ограничение доступа это всегда хорошо, даже если не совмещать.
Да и пассаж про совмещать странный, для Вас не самоочевидно что подходы к ограничению надо совмещать?
У вас тестирование сводится к «странички открываются»? Acceptance-тесты, CI — не?
Оно прошло тестирование, подробности — NDA. Разумеется, теперь мы добавили дополнительные проверки.
а это вообще зачем, кроме шаред-хостинга?
Немного уменьшаем поверхность атаки на случай уязвимостей в коде. Не факт что сильно поможет, но и не помешает
Лучше им напишите репорт.
По заявкам телезрителей: https://bugs.php.net/bug.php?id=73099
https://ru.wiktionary.org/wiki/сервер:
В разговорной речи встречается также вариант склонения по схеме 1c(1) (мн. ч. сервера́, серверо́в, сервера́м, сервера́ми, сервера́х).
На мой вкус сервера звучит приятнее, но ваш вариант более академически привильный.
Изменение в PHP 7, ломающее при обновлении с пятой версии некоторые сервера на Ubuntu