Отчёт о результатах переезда на WordPress 2.6

Дорогой читатель, если ты какими-то судьбами попадаешь на мой блог, а не просто пролистываешь посты в рсс-читалке, то, наверное, заметил некоторые изменения на блоге:
1. Страницы отдаются быстрее (во всяком случае у меня это так)
2. Из сайдбара исчез Блогролл и добавились виджеты популярных сообщений. Думаю, вместо блогролла просто сделать страничку ссылок ан хорошие блоги, хороших людей.

Это то, что можно заметить на первый взгляд и то, что, как говорится, радует.
Если кто не понял, то я перенёс блог на последнюю версию движка WordPress 2.6, так как на тестовом сайте уж очень мне он понравился своим новым ентерфейсом. Но не всё так гладко с переносом, как кажется, и ниже я расскажу о проблемах, с которыми столкнулся и которые пока не полностью решены. Кстати, на некоторые из них мне указали именно читатели (спасибо Ольге), так что будьте бдительны и сообщайте обо всех «глюках».

Перенос я делал через Экспорт — Импорт средствами WordPress (это когда создаётся WXR файлик (WordPress eXtended RSS)), предварительно сделав полный бэкап как базы, так и файлов. После чего удалил все таблицы и файлы на сервере, залил WordPress 2.6 PowerPack, поднастроил и импортировал файл. Вот что из этого получилось:

Проблема 1. — При импорте продублировались рубрики.
Вообще с рубриками какая-то странная вещь, мало того, что после импорта вылезли дубли, так ещё и рубрики, бывшие пустыми, самопроизвольно присвоились некоторым постам.

Взять к примеру рубрику Forex (скоро я её потру, так что может ссылка будет вести в никуда). Да, я одно время хотел попытаться поиграть с Форексом и писать отчёты про это в блог, но потом «забил», создав пару черновиков, но не опубликовав их. Теперь же рубрика Форекс вылезла с постом о «Как заставить работать устаревший плагин с новым FireFox» 😀
Мысли: Тут видимо сыграл роль плагин RusToLat, который при импорте не посмотрел, что у рубрик прописаны ручками названия на англ, а сделал повторную работу по транслитерации с русского на английский. Так это или нет — покажет практика.
Решение: Скорее всего я буду пытаться «перезалить» файл экспорта и попробую вкл/выкл плагин RusToLat. Если есть какие-то другие соображения — пишите.

Проблема 2. — Обрезались посты.
Заметила это Ольга. В посте про «Обзор Хостингов», где шла интересная дискуссия и я добавил ещё около 5 хостеров в список, произошло «обрезание» на McHost, причём посреди абзаца. И, что очень занимательно, все посты и/или комментарии, которые идут после него на одной странице, выделяются жирным (strong). Это отчётливо видно тут (прокрутите страницу вниз).
Мысли: Тут у меня подозрение на попавший в импорт «спец.символ», который WordPress решил пропустить, одновременно похерив остальную часть текста.
Решение: Сегодня из дома буду пытаться повторно импортировать посты и за одно проверю, что и как там в тексте. Если не получится, то внесу изменения вручную или, как посоветовала Ольга, сделаю второй обзор хостингов, состоящий исключительно из новых хостеров.

Проблема 3. — Проблемы с кодировкой в «title» рубрик.
Ну, думаю тут корни всё оттуда же (см. Проблема 1). Чтобы понять, о чём речь, зайдите в любую рубрику на русском языке (к примеру, Локализация) и посмотрите в заголовок браузера, там будут иероглифы.
Решение: пока не знаю, но, надеюсь, грамотный импорт это исправит. До этого база была в Win-1251 кодировке, а теперь в UTF-8, но т.к. экспорт-импорт делается в UTF, проблем по идее быть не должно.

Проблема 4. — отображение кодов программ.
Хотите узнать «Как сделать тему widget совместимой»? Фиг вам, а не исходные коды.
Мысли: тут всё ясно. Я использовал для «подсветки» исходников плагин CodeHighlighter, но он меня исключительно не устраивал в последнее время. А без него все тэги, записанные в <pre>, обрабатываются браузером, и вы видите «пустоту»
Решение: я уже нашёл неплохой плагин, но не успел его установить. Если всё пойдёт как надо, то напишу/переведу обзор подобных плагинов для подсветки синтаксиса.

Проблема 5. — Глюки с кодировкой FeedBurner у основного фида.
Сейчас вы это уже пронаблюдать не сможете, но пару дней назад, возможно, ваша рсс-читалка выдала вместо русского текста моих постов знаки вопроса (??????).
Мысли: Долго не мог понять, в чём дело, грешил на сам фидбёрнер, но как оказалось проблемка вылезла из-за моих «шаловливых» ручек. Подсказка — основной фид не проходил валидацию и отдавался в непонятной кодировке.
Решение: оно довольно простое, но всё равно выложу его отдельным постом. Совсем скоро, честно-честно.


Пока что навскидку ничего больше не вспоминается из проблем, но есть кое-что, о чём хотелось бы написать:
1. Я отключил нафиг капчу и оставил только Akismet, но пока что спам только СМОшный лезет, а остальной вроде ловится Акисметом. Думаю, те, кто любят комментировать (за что им спасибо), оценят это. AJAX Comments пока не ставил, т.к. думаю всё же обойтись другим плагином.
2. Не забывайте голосовать за посты, если они действительно полезны, а если не полезны, то «закапывайте», чтобы и другим глаза не мозолили.
3. Из плагинов статистики оставил только Гугл Аналистикатор, т.к. ощущение, что FireStats нереально тормозил блог почти оправдалась, а в Гугле вся необходимая информация для меня имеется.
Кстати, если у вас стоит Аналистикатор, то советую отключить «Outbound link tracking». Я заметил, что этот трэкинг вставляется и в рсс-фид, а валидатор не очень хорошо «кушает» onclick в ссылках. Возможно, это можно как-то исправить, но я ещё не смотрел.

И напоследок — буду очень признателен всем, кто сообщит о прочих недостатках, глюках и уродствах, которыми ещё, я уверен, кишит сайт. Например, куча лишних скриптов подключаются в хэдере там, где это совершенно не нужно, разбивка на страницы работает исключительно на главной, а в рубриках уже нет (но это конечно дело быстро поправимое).

В общем, до скорых встреч и, будьте уверены, все комментарии к этой и прочим записям, которые были сделаны в последние два дня (после переезда на WordPress 2.6) будут перенесены после нового импорта.

Интересно прочитать о WordPress 2.6

Как и обещал — выкладываю подборку ссылок, на интересные материалы, с которыми следует ознакомиться всякому, у кого появилась мысля обновиться до только что вышедшей версии 2.6.

Все тексты будут русскоязычные, потому что wall of text на ангельском мало кого интересует, а кому надо и так их найдут и прочтут.

Начнём со ссылок на сам WordPress:

Официальная русская и английская версии и альтернативный перевод от доблестного ЛеКактуса, но не только и не столько переводом ограничиваются отличия версий — скачав PowerPack версию Ивана, вы получите ещё около 30 руссифицированных плагина на все случаи жизни, а что самое главное — качественную поддержку и помощь. (Ещё раз напомню, что перед тем, как задавать вопросы попробуйте посетить и поискать на форумах у Максима и на майвордпресс).

Раз уж забрался на сайт к Кактусу, то сразу вам пачка статей на любой вкус и цвет: Управление ревизиями и автосохранением в WordPress 2.6 (что такое ревизии можно немного заценить у меня в «10 вещей о WordPress 2.6») и как Обновиться с версии Макса до Кактусовой.

Кто-то задавал вопрос про скорость работы нового WordPress — читаем у Максима «Тормознутость WordPress 2.6 RC1«. И хотя речь идёт о релиз кандидате, но и в финальной версии всё осталось так же. Важно — прочтите комментарии, там описан способ борьбы с тормознутостью.

Об опыте перехода на новую версию на рабочем сайте повествует Миколка. Ещё один опыт обновления, но с проблемой с визуальным редактором (давно пора от него отказаться) и там же решение проблемы. Так же можно целиком ознакомиться с результатами обновления в блоге этого автора.

Пока что на этом закончу, думаю хватит почитать и определиться — to be or not to be WorldPress’у на вашем сайте.

[Безопасность] WordPress 2.5 — Уязвимость “Секретного ключа”

Звиняйте, пишу редко, ибо с головой ушёл в офф-лайн: йога, диплом, работа.

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

И так, начнём с простого вопроса — многие ли из вас, читатели, знают, что такое SECRET_KEY в новой версии движка?

Небольшой экскурс в кодекс или читайте мою интерпретацию)

В общем, многие знают, ну или подозревают, что до того, как попасть в базу данных пароль, вводимый пользователем, подвергается md5-преобразованию. Это делается для того, чтобы даже если злоумышленник получит список паролей, реальных паролей на руках у него не было. Проблема в том, что обычно пользователи указывают простые пароли вроде qwerty и прочих pass12345 у которых ВСЕГДА один и тот же md5-хэш. И введя в тот же гугл полученную из БД строку «зашифрованного» пароля, мы получим на выходе оригинал пароля. Так же существуют онлайн сервисы и оффлайн утилиты, которые просто генерят словари всех возможных слов с их md5-строками (получается некий брут-форс).

Что предприняли ушлые разработчики вордпресс в новом релизе?
Стоит отметить, что идея стара как мир, но ввели сей алгоритм в движок только сейчас.

Они решили добавить некий случайный элемент в генерацию хэша, который бы не позволил «угадывать» пароль по его md5, не зная этого элемента. Как вы поняли речь тут и идёт о SECRET_KEY, только проблема, на текущий момент такова, что о его существовании знают почти что только избранные (теперь и вы себя к ним можете причислить)).

WordPress 2.5 не предлагает сменить этот ключ при установке и использует всё время прописанный в wp-config.php по-умолчанию:
define(‘SECRET_KEY’, ‘put your unique phrase here’);
Так как 90% пользователей вордпресс создают wp-config.php через меню браузера, прописывая нужные параметры при установке, то получаем у 90% блогов один и тот же «случайный элемент».

Тов. J. Carlos Nieto, поднатужившись, написал огромное изыскание, где можно даже найти код программы для перебора паролей и местами это вообще похоже на hack-manual ]:->

Так что, уважаемые читатели, мораль сей басни такова:
«Если вы устанавливаете новую версию или апгрейдите старую до WordPress 2.5, то потрудитесь залезть в wp-config.php и исправить ‘put your unique phrase here’ на что угодно (вам даже не обязательно запоминать эту фразу), например, ‘Спасибо тебе Тарас за наше безопасное детство блоггерство’ «

[Безопасность] Список дырявых плагинов 2

Продолжаем публиковать список плагинов, которые стоит:
а) обновить до безопасной версии
б) отключить, если таковой не имеется.

Думаю конечному пользователю (т.е. тебе читатель) не столь интересно какими методами злоумышленники будут тебя ломать, а вот как от этого обезопасится — это уж всенепременно важно. Сегодня в список попали довольно популярные плагины (заодно сделаю мини-обзор), так что спешим обновляться:

  1. WP-People
  2. Плагин, который ищет в тексте поста имена, совпадающие с его базой и линкующий их на соответствующий профиль. Пример работы. Уязвимы версии до 1.6, с сайта же можно скачать Wp-People 1.6.1.
    Вообще пожалуй интересный плагин для создания некоего комьюнити на WordPress.

  3. Simple Forum
  4. simple forum plugin screenshot
    Плагин встраиваемого в WordPress форума. На сайте можно скачать помимо самого форума: локализации (русский язык для последней версии отсутствует, может кто посодействует автору, а?), скины и иконки.
    Если у вас стоит версия плагина «моложе» 2.1 build 237, то выключайте или обновляйте (текущую версию форума можно подглядеть в самом низу форумной страницы).

  5. WP Photo Album
  6. Одна из вариаций реализации фото-альбома для WordPress. Тут можно посмотреть как это работает (сайт автора).
    Уязвимы версии до 1.1, так что скачивайте и обновляйтесь.

  7. Search Unleashed
  8. Ещё один популярный плагин, на этот раз для реализации поиска по всему блогу, а не только постам. Русская версия у Кактуса.
    Взлом зарегистрирован во всех версиях до 2.11, причём забавно то, что на сайте плагина скачать можно только 2.10, зато в других местахрусский вариант) уже предлагают безопасные версии.

  9. Sniplets
  10. Это вообще какая-то мега тулза по замене текста в посте в зависимости от условий, добавление подсветки и т.д. БлогСекьюрити сообщают, что уязвимы версии до 1.1.2, но судя по Version History с сайта — багфикса нет и в текущей (1.2.2) версии, на это же указывает и, например, вот этот взлом.
    Так что, если вы его применяли, то отключаем и/или ищем замену.


Йех, наконец-то удалось что-то написать, а то почти неделю без интернета дома — это какой-то кошмар.
Успел за это время досмотреть аниме Death Note, одноименный фильм и Зеленую милю. Последнее настоятельно советую, если вдруг кто ещё не видел.

[Безопасность] Список дырявых плагинов

Все уже знают, что очередной релиз WordPress 2.3.3 в основном призван исправить бреши в безопасности (как обычно русскую версию можно скачать у Кактуса), но гарантирует ли это, что на ваш блог не смогут посягнуть?

Можно ответить «Нет», если вы не уверены в тех плагинах, которые у вас установлены.
Например, сами разработчики WordPress настоятельно рекомендуют не использовать плагин WP-Forum, а я несколько расширю этот список за счёт информации с сайта БлогСекьюрити.

  1. WP TextLinkAds
  2. Плагин для размещения ссылок от известной конторы TLA версии ниже 1.1.3 подвержен уязвимости, благодаря которой злоумышленник может получить доступ к БД и компрометировать весь блог.
    Для исправления советуют либо скачать новую версию, либо найти строку 512 ($postId = $postId;) и заменить её на $postId = (int) $postId;.

  3. dmsguestbook
  4. Гостевая книга dmsguestbook вообще одна сплошная дыра. Тут вам и возможность дефейса, получение доступа к данным из wp-config.php, управление файлами и папками на сервере, и даже множественные XSS-уязвимости в купе с различными SQL-инъекциями.
    БлогСекюрити советуют вообще нафиг отключить этот плагин, т.к. даже в последней (1.8) версии много багов и уязвимостей.

  5. st_newsletter 2.x
  6. Плагин рассылки st_newsletter позволяет, применив специальный запрос, содержащий SQL-инъекцию, получить список всех пользователей и хэши их паролей.
    Заплаток пока что нет, так что отключаем плагин от греха подальше.

  7. Wordspew
  8. Относительно известный Live-чат Wordspew тоже подвержен злостным инъекциям, и тоже пока что нет официальных (и не официальных) багфиксов. Отключаем.

  9. wp-footnotes 2.2
  10. Известная добавлялка подписей к постам wp-footnotes тоже обросла уязвимостью, из-за которой «злодей» получает доступ к админ.панели плагина, просто обратившись по определенному УРЛ к сайту. И, следовательно, может «добавить» свой текст к вашим постам.
    И этот плагин без фикса, так что используйте на свой страх и риск.

На этом всё. Надеюсь теперь вы чувствуете себя ещё более защищенными.