Запрещенные теги в CMS Danneo и опуск программёров

Я уже как-то ругал CMS на которой работает balbesof.net. Сегодня от этой «замечательной» системы управления контентом был еще один удар в спину.

Я не так давно искал плагин на этот блог для загадывания загадок. Чтобы комментарии скрыть. Нашел один неважнецкий плагинчик. Точнее он не так плох, но несколько для других целей. А для работы этого плагина пришлось переключить хостинг на php5.

Спустя некоторое время у меня при обращению к балбесам начала появляться табличка, гласящая что-то типа: «Найдена ошибка! Запрещенные теги» и при этом не пускало на сайт.  А если кэш у браузера почистить то работало нормально.

Сначала решил, что это какой-то конфликт с форумом. После того, как авторизовывался на форуме, то сайт переставал работать. Была мысль, что какой-нибудь вирусняк на форум прописался. Ну и откладывал проблему на потом. До сегодняшнего дня.

А сегодня заглянул в статистику, а там, с ума сойти, количество просмотров на посетителя упало в 2.5 раза, модератор попасть не может, жалуются посетители.

Статистика за 12.11.2009

И тут мне стало ясно, где собака порылась. Пришлось обратно переводить виртуальный хост на php4.

Табличка про запрещенные теги пропала даже без чистки кэша. Судя по всему danneo не пашет на php5.

А так, эти запрещенные теги меня уже за все эти годы порядком достали. Все дело в том, что эту проверку убирать нельзя, т.к. иначе в движке открывается серьезная уязвимость. Одни великие программисты придумали, что в сценарии пхп можно автоматически регистрировать переменные окружения. Например, через get запрос передать переменную $danneo и присвоить ей значение «Молодцы». А интерпретатор пхп её в get запросе заметит и вкорячит в скрипт, как-будто там только и нехватало этой переменной.

В свою очередь другие не менее гениальные программисты и разработчики правильных CMS просят запрещать интерпретатору пхп регистрировать глобальные переменные окружения. Т.к. это конечно удобно, но появляется дырень в безопасности. Образно говоря, злоумышленники могут вам к примеру, ввести переменную и присвоить ей такое значение, что движек будет думать, что вы админ и даст много доступа. Поэтому некоторые CMS если видят флаг register_globals = on, то сразу сообщают о том, что это айка, могут возникнуть проблемы. Многие хостинги изначально по умолчанию ставят register_globals = off.

А вот есть еще третьи и самые гениальные программеры. И им удобнее чтобы, переменные сами регистрировались. Но так как обычно register_globals = off, то они вшили регистрацию глобальных переменных в движок. Но так как это опасно они предусмотрели защиту. А защита и заключается именно в проверках на так называемые «запрещенные теги». Тоесть они смотрят, а не пытается ли злоумышленник пихнуть в переменную команды для работы с базой данных (типа SELECT, INSERT и т.д.) или просто некоторые теги. И если они есть, то выдают табличку и закрывают доступ к сайту. Кстати, именно по этому у меня в уроке про инструменты фотошоп есть название Path ion Tool (на самом деле должно быть Path Selection Tool, но для супер движка это опасное слово и оно его вырезало, а заметили спустя приличное время и исправить руки не доходят. Даннеовцы, вам привет!)

Может если бы я был таким же умным программером, как эти гении, то придумал как все исправить, но увы я не программист и не хочу им быть, а изучить php пришлось именно из-за косяков других программистов. Просто дошло до того, что нанимаешь одного программера для исправления ошибок, а потом думаешь как бы исправить новые ошибки оставленные новым программистом. Вот и не захочешь, а начнешь разбираться в пхп. А потом узнаешь, что оказывается 50 баксов берут за такую мелочевку, что жуть. Но при этом делают все тяп-ляп с массой глюков.

В общем, нет программиста — нет проблем! 🙂

Но тем не менее на все неудобства danneo она очень легкая. Посмотрел бы я на тот сервер, какой пришлось бы купить будь у меня сайт не на даннео, а на какой-нибудь там джумле, вордпрессе или еще на чем-нибудь.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *