Недавно начали возникать проблемы с Веб-прилежанием(Разработано на PHP), который находится в хосте известного хост-провайдер(XП)-а Х. После кропотливых тестов и работ над приложением выяснил, что все из-за изменения директивы register_globals с OFF на ON что повлек к неполадкам в работе приложении.
Я составил письмо от имени моего клиент(т.е. тот кто оплачивает хост и имеет договор с XП Х)-а и направил к тех-сотрудникам компании Х, они исправили эту директиву в своем сервере. Не прошло и 2 месяца как история повторялось. И на его выполнения требовалось до 2 недель если не больше. Я их понимаю, у них ряд старых сайтов, которые работают с включенной директивой register_globals.
Что такое PHP?
PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) — это распространенный язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения Web-разработок и его код может внедряться непосредственно в HTML.
http://www.php.net/manual/ru/intro-whatis.php
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
http://ru.wikipedia.org/wiki/PHP
Что такое register_globals ??
Что представляет собой register_globals?
Это опция в php.ini, которая указывает на необходимость регистрации переменных, полученных методом POST или GET в глобальный массив $GLOBALS.
http://citforum.ru/internet/php/register_globals/
Для справки
http://www.softtime.ru/info/articlephp.php?id_article=13
http://www.php.net/manual/ru/security.globals.php
http://wm-help.net/articles/article/20.12.20057744-29.html
Как быть?
Не надо с одной проблемы на другую перебежать, есть оптимальное решения этой проблемы. Просто нужно вводит некий дополнительный функционал на сайты, которые работают с включенной директивой register_globals.
Мы знаем, что основной точкой входа на сайт это index.php мы можем в начале этого файла написать пару строк кода.
index.php
Если сайт много страничный, то выносим эту часть в отдельный php-файл
extract.php
и включаем его в начало каждого php-файла сайта.
news.php
Если политика(положения) ХП не позволяет, вводит изменения на сайты клиентов, в чем я не сомневаюсь, то надо попросить клиентов сделать это в противовес ставя разработку нового сайта.
Так как технология и в том числе PHP развиваются. С версии 5.3.0 это директива обвялена устаревшей(DEPRECATED) и с версии 5.4.0 удалена(REMOVED).
Пожелания
Я бы хотел пожелать всем хост провайдерам нашей страны заоблачных(облачных) достижений в этой области и прошу дать старым добрым сайтам жизнь…
Добавить комментарий