Продолжая разговор о безопасности сайтов, хочу затронуть аспект прав, которые имеет тот или иной пользователь на сайте. Мы не раздаем пароли направо и налево, мы не допускаем никого в святая святых - Панель управления. Мы поговорим о пользователях и их правах.
Поголовное большинство из администраторов фан-сайтов бесплатной онлайн игры Мирчар пользуется бесплатной же системой создания сайтов uCoz и абсолютно все из них используют авторизацию. Это очень удобно - пользователи могут оставлять не только комментарии, но и материалы, общаться на форумах. Пользователи делятся на группы, а группы имеют разные права: одни могут писать, вторые - редактировать то, что они написали, третьи могут редактировать за всех и даже удалять.
Радует, что права для групп на юкозе уже настроены самым оптимальным образом. А если вам вздумалось-таки установить свои порядки, вы найдете цветовые подсказки: права, выделенные красным лучше давать только группе Администраторы (а в группе администраторы желательно иметь одного человека - себя. Не такие уж у нас большие и сложные проекты, чтобы иметь нескольких администраторов). Так называемым Модераторам присущи права из синей группы. Однако, так ли вам нужен отдельный модератор? Ваша команда (как правило, это сплошь журналисты-писатели) вполне справится с нечастой правкой оскорбительных сообщений или периодическим удалением спама. Группа проверенных пользователей обычно отличается тем, что имеет права на редактирование собственных материалов (а также освобождена от "капчи"). Заблокированным не разрешается ничего, даже читать материалы. В общем случае, права раздаются согласно доверию администратора пользователям той или иной группы.
Что такое "Премодерация"?
Это можно назвать "отрицательным правом", поскольку понижает доверие группы. То есть материал, подлежащий премодерации, не выходит в открытый доступ. Его видят только те, кто может редактировать материалы в данном разделе. Так на "Полочке" статьи, написанные от гостей и простых пользователей, до самых проверенных попадают в премодерацию - я оцениваю нужность, иногда корректирую, проверяю ошибки и корректно оформляю текст, заголовки, картинки. Впрочем, материалы команды проходят так называемую постмодерацию - не смотря на то, что материал уже в доступе, я проверяю и часто корректирую оформление.
Рассказав команде о правилах оформления текстов и картинок, я дала им доступ и к визуальному редактору.
Опять HTML
Почему нельзя обеспечить и рядовым пользователям доступ к визуальному редактору? И, кстати, как это сделать, ну, хотя бы для членов команды, ведь по умолчанию он им недоступен?
Визуальный редактор подставляет в сохраняемый материал HTML код. Поэтому, чтобы разрешить команде использовать такое достижение веб-технологий, нужно в правах им поставить галочку напротив "Разрешить HTML тэги при добавлении материалов". Хочу отметить, что если вы сами - администратор например, - использовали визуальный редактор, даже просто расставили теги абзацев, а затем с материалом продолжил работать его автор, не имеющий HTML в своих правах, тогда все оформление "слетает", ведь этому пользователю не разрешается передавать в сообщении HTML-теги.
Возвращаемся к вопросу "почему нельзя"? Именно "нельзя", поскольку для заблокированных, гостей и даже простых пользователей это технически не предусмотрено (поля для галочек заблокированы). Все просто. Визуальный редактор - это доступ к HTML. А доступ к HTML - это возможность засунуть в материал зловредный скрипт, способный "увести" ваши пароли в момент их набора - и все, прощай, сайт. А то и почтовый ящик, и все, что на этот ящик привязано. Делить HTML-теги на "примитивные", отвечающие чисто за оформление, и "сложные" - занятие для сервера крайне затратное. Да и зачем, когда доступны bb-коды во всем многообразии юкоза. Можно не только поменять цвет, размер, жирность, начертание, но и выровнять, скрыть, расставить ссылки, картинки, списки. И даже есть возможность с помощью bb-кодов вставить аудио и видео. А удобство визуального редактора легко уступает безопасности вашего детища, не правда ли?
Кто это сделал?!
Хотя и без доступа к HTML, да что там доступ, без специальных знаний и знакомых!, у обиженного модератора или проверенного, есть куча способов расстроить владельца сайта. Первое - это удаление материала (всех или только собственных). Обнаружить такое не всегда просто - нет и нет материала. Именно поэтому На Полочке удалять может только Администратор. А второе - редактирование. Удалить материал со всеми потрохами нельзя, зато можно стереть его содержимое, заменить на какую-нибудь белиберду. Такой факт довольно быстро раскроется радеющими за ваш сайт пользователями.
Однако может встать вопрос, кто это сделал, особенно, если возможность была у многих. В Панели управления есть такая вещь, как лог действий (ПУ - Безопасность). Лог действий ведется с самого создания сайта, там нет функций чистки и удаления. Там написано кто что где когда делал.
Взгляните на ваш лог. Первая колонка - время (вместе с датой). Дни разделяются синим цветом (последнее действие в этот день). Колонка Действие описывает где и что делалось: сначала указан модуль, затем действие на английском. Действия с пользователями, простыми страницами и комментариями относятся к модулю /index, остальные модули - это привычные /publ, /forum и другие. Засчитываются добавление, удаление и редактирование материалов и комментариев, изменение счетчиков материалов, манипуляции с пользователями (как то перенос в другую группу, редактирование профиля). Кстати, если вы отвечаете на комментарий методом "редактировать - вписать ответ в поле ниже", то это, как вы понимаете, считается редактированием комментария.
Третья колонка - Пользователь: ник пользователя со ссылкой в его профиль и группа пользователя. Дальше IP-адрес, с которого совершалось данное действие и последняя колонка - Комментарий к действию. Если действие затрагивало материал, указан его id, по которому материал можно найти, например, в резервной копии. Если действие совершалось над комментарием - указаны id комментария, id материала, к которому писался комментарий и модуль, в к которому относится материал.
С этой же страницы вы можете посмотреть лог безопасности, относящийся к Панели управления. Здесь отображаются последние (порядка 300 позиций) точки входя в ПУ, включая попытки с неверным паролем и неверным кодом безопасности (капчей), а также изменения пароля от ПУ или от FTP.
Не забывайте про бэкап сайта, но пусть он вам никогда не понадобится .
В заключение хочу дать тройку действительно полезных ссылок. Тем более, что это официальный блог uCoz.
Как не остаться без сайта:Фишинг, Хакинг, Склерозинг.