Выбрать главу
Имидж

Второй недостаток CMS — инкубаторская похожесть дизайна сайтов. В состав дистрибутива популярных CMS входят разные типовые заготовки (называемые темами оформления или шаблонами), но их количество ограничено и не все они одинаково удачны. Отчасти положение исправляют дополнительные темы, разработанные энтузиастами. Кроме того, можно придать сайту оригинальность, используя собственные баннеры, флэш-вставки и картинки на страницах. Но если вы попробуете менять детали оформления шаблона, появятся затруднения. Например, в таблице стилей шаблона прописано, что заголовки новостей отображаются шрифтом черного цвета. Это значит, что все заголовки будут черными. Если вы захотите выделить особо важную новость заголовком красного цвета, то не факт, что это получится. Далеко не каждая CMS позволяет без «доработки напильником» менять стиль отдельных элементов шаблона и тем более делать разными элементы одного типа в пределах шаблона. Этот мелкий недостаток является следствием важного достоинства — концепции разделения оформления и содержания: то есть возможности изменить стиль отображения однотипных элементов на всех существующих и будущих страницах сайта при помощи редактирования лишь одного параметра в одной таблице стилей.

Впрочем, никто не мешает запустить сайт с минимальными изменениями типового дизайна и постепенно дорабатывать его. Благо писать базовые скрипты и функциональные модули не придется.

Безопасность

Не забывайте, что Злой Хакер спит и видит, как бы взломать ваш сайт. Получив администраторские полномочия, он может изменить дизайн сайта, разместить на нем оскорбительную для вас информацию или похитить конфиденциальные данные пользователей.

Простейший сайт, созданный человеком, ничего не смыслящим в программировании на PHP или Perl, обычно более устойчив к взлому, чем созданный полупрофессионалом. Звучит парадоксально, однако дело в том, что взлом сайта, не содержащего сложных скриптов и состоящего из нескольких тривиальных html-страничек, по сути, означает взлом сервера хостинг-провайдера. Такому взлому противостоят опытные специалисты. Кроме того, у них больше шансов выследить хакера и устроить ему рандеву с правоохранительными органами. Но если ваш сайт взломают из-за вашей собственной ошибки в программировании, вероятность возмездия будет призрачной, а устранять причину и последствия придется самостоятельно.

Безусловным плюсом готовой CMS является то, что она разработана группой более или менее профессиональных программистов [У некоторых из них имеются в прошлом хакерские грешки]. Они обладают опытом, редко повторяют чужие ошибки и всегда готовы исправить собственные. К их услугам специальные форумы по сетевой безопасности и хакерские конференции, которые вы вряд ли будете посещать. Разумеется, ошибки бывают, но они быстро устраняются благодаря интенсивному общению разработчиков. Выбирая CMS, обратите внимание, насколько живо идет общение на форуме поддержки, особенно в ветке, посвященной безопасности. Если вы узнаете, что была обнаружена серьезная уязвимость, которую устранили в течение недели, это даже лучше, чем отсутствие сообщений об уязвимостях. В сложной системе просто-напросто не может не быть ошибок. Если о них не говорят, значит, либо пока не нашли, либо замалчивают. В е107 около полутора лет назад нашлись дыры, но, к чести разработчиков, их быстро заштопали.

Одинаковость сайтов, объединенных общей CMS, играет дурную роль не только с точки зрения дизайна. Опытный хакер легко определит, на какой системе построен сайт, после чего ему гораздо проще подобрать эксплойт (вредоносную программу, использующую известные уязвимости) или выполнить нужные действия вручную. Кроме того, хакеру доступны исходные тексты скриптов[Впрочем, в покупной CMS тексты скриптов на PHP ничуть не менее доступны, если только не используется шифрование скриптов]. Метода обороны на все случаи жизни не существует, просто нужно соблюдать общеизвестные правила безопасности: отключать сервисные функции и поля ввода, без которых можно обойтись; разрешать посетителям сайта минимум вольностей (особенно это касается использования html и вложенных скриптов); по возможности отключить использование cookies при авторизации. Дополнительные рекомендации можно найти на сайтах поддержки CMS.

Существенной особенностью CMS является необходимость периодически делать резервную копию базы данных. Копия традиционного html-сайта хранится на вашем компьютере и может быть в любой момент заново выгружена на сервер. Если сайт основан на CMS, то наработанное вашими трудами содержание хранится на сервере. Взлом сайта или фатальная поломка сервера могут уничтожить контент без шансов на восстановление. Если же вы храните у себя резервный файл базы данных, то можете восстановить сайт даже быстрее, чем при традиционном механизме. По сути, копия является текстовым файлом с разделителями, в который занесено все содержание БД, представленное в виде текста. Достаточно закачать этот файл на сервер и импортировать в базу данных при помощи специальной утилиты (обычно она входит в набор софта, предоставляемого хостинг-провайдером).