[Безопасность] Уязвимость в Wp Downloads Manager 0.2

По сведениям от BlogSecurity, плагин Downloads Manager от Giulio Ganci (не путать с WP-DownloadManager от ЛестерЧана) содержит в себе уязвимость, позволяющую злоумышленнику удалённо загрузить и выполнить на сервере произвольный php-скрипт.

А всё потому что плагин не проверяет расширение загружаемых файлов, а, следовательно, выполнив парочку простых скриптов, можно узнать как пароли от БД, так и получить доступ к файлам на сервере.

Если вдруг у вас стоит данный плагин, то желательно снести его от греха подальше. Хоть уязвимость и найдена в версии 0.2 (а текущая 1.0 RC1), но сохраняется вероятность наследования эксплойта новыми версиями.

wp Download Manager small

А вот так выглядит сам плагин 😀

7 полезностей, которые можно сделать после установки WordPress 2.6

Всё же заинсталил на тестовую платформу новый WordPress, а точнее просто обновил старый, но скорость работы ощутимо повысилась и, благодаря всяко-разным плагинам из powerpack-компиляции Кактуса, работать стало удобней и приятней.

Теперь поделюсь с вами подборкой небольших фишек, найденных в интернете на буржу-сайте, которые можно сделать с чистой (или обновлённой) установкой WP 2.6, дабы жить было проще и веселее.

Полезность 1. Измените папку по умолчанию для загрузки изображений

По умолчанию, как и прежде, WordPress будет помещать все изображения в папку wp-content/uploads. Но вы можете указать любое другое место, в том числе и поддомен для хранения картинок. Это сократит урл к ним, а так же обезопасит вас от потери файлов при обновлении блога. И при бэкапе вам не надо будет копировать весь архив картинок, а лишь рабочие файлы блога и плагинов.

Так же стоило бы убрать галочку перед «Сортировать загруженные файлы в папках по месяцу и году».

Полезность 2. Удалите лишний код из шапки темы

Про это писано и переписано и даже есть отдельные плагины. Речь естественно об указании WordPress’ом в шапке (header) сайта своей версии, что является буквально вызовом хакерам — вот я такой весь не обновлённый и дырявый, ломайте меня сколько влезет.
Чтобы удалить строку
<meta name="generator" content="WordPress 2.х" />, добавьте в файл functions.php, своей темы, следующее:
<?php remove_action('wp_head', 'wp_generator'); ?>

Полезность 3. Запретите людям просматривать содержимое ваших папок

Наверное, вам попадались сайты, зайдя на которые вместо стандартной html-страницы, вы видели некое подобие проводника со списком файлов и папок. Эти странички генерятся самим сервером, если он не находит индексный файл (index.php/index.html и т.п.). Чтобы такого не было (а ведь это тоже подсказка хакерам, если узнать, например, набор ваших плагинов, то можно спокойно попытаться провести XSS или SQL-инъекцию), достаточно в корне блога, в файле .htaccess добавить строку
Options All -Indexes

Полезность 4. Убираем шаблоны для Windows Live Writer

Для тех, кто не пользуется WLW или не использует встроенный превью (live preview), стоит добавить в functions.php следующую строку, чтобы не выводить в шапке ссылку на манифест:
<?php remove_action('wp_head', 'wlwmanifest_link'); ?>

Полезность 5. Отключаем контроль версий в WordPress 2.6

Если вы не в курсе, то в новой версии WordPress появился wiki-style контроль версий, позволяющий отслеживать все изменения поста/страницы на всём времени его существования. Так вот, полезность подобной фичи для блогов с одним автором довольно сомнительна, зато появляются дополнительные строки в таблице wp_posts при каждой попытке изменить/добавить текст.
Лечится это либо плагином No Revisions, либо одной строкой в wp-config.php:
define('WP_POST_REVISIONS', false);

Полезность 6. Перенос папки плагинов и шаблонов

В WordPress 2.6 у нас появилась возможность перенести папку wp-content куда угодно. Чем это полезно?
Да тем, что при обновлении и «перезаливке поверх» самого дистрибутива WP вы не потеряете свою тему, если она, например как у меня, называется default.
Тут, правда, стоит понимать, что большинство плагинов, не адаптированных под 2.6, могут «тупо» перестать работать, но если вы всё же решите перенести wp-content, то добавьте в wp-config.php следующий код:
define(’WP_CONTENT_DIR’, ‘http://www.ваш_сайт.ру/hidden-folder/wp-content’);

Полезность 7. Google XML Sitemap — изменение настроек

Если вы пользуетесь плагином для создания Google Sitemep, стоит подумать о переключении настроек генерации в «ручной» режим.

В автоматическом режиме сайтмап пересоздаётся каждый раз, когда вы изменяете или удаляете пост, а полное пересоздание xml-sitemap для блога с нормальным количеством записей — довольно ресурсоёмкая операция, которая будет «тормозить» публикацию поста, пока не будет обновлён сайтмап.
Например, у меня на блоге, на создания файла уходит 13 сек и 10 Мб памяти, что не так уж мало, учитывая, что блог содержит около 80 записей. Представляю, сколько времени и памяти требуется, блогам с 500+ постов.
В ручном режиме вам потребуется запускать выданную вам в настройках ссылку, которую можно повесить на выполнение в cron на раз в сутки. Или, если не умеете/не хотите возиться с Cron, воспользуйтесь услугами сервиса аля CronJob.

Вот такие вот полезные мелочи, надеюсь что-то было полезно не только мне.

Update: Аха-ха, вот что значит не читать долго рсс-ленту. После публикации наткнулся на перевод той же самой статьи в блоге у Дмитрия Донченко, а из комментариев и ещё один перевод обнаружился, так что прошу прощения за «баян», но больше — не меньше)

Как заставить работать устаревший плагин с новым FireFox

Хотелось бы поделиться с вами небольшим хинтом.
Я думаю, что у заядлых пользователей FireFox (я его использую с версии 1.0) есть стандартный набор плагинов, который кочует с ними из версии в версию и безоговорочно устанавливается на "чистую" лису. Своим списком я поделюсь чуть позже, а пока хотел бы затронуть такой неприятный момент, как обновление Огнелиса и его плагинов.

Не всегда выходу новой версии браузера сопутствует обновление всех "избранных" плагинов. Хорошо, когда авторы плагина, зная, что особо изменений в нём не предвидится и работать он будет стабильно с любой версией, проставляют поддержку в виде 3.х.х.х, т.е. с любой версией, начинающейся на 3, но так бывает не всегда.

Взять, к примеру, недавнее обновление браузера до 3.0.1 — пара плагинов до сих пор не обновились на сайте и висели бы в отключенном состоянии, если бы не…

Перейдём к конкретике. Одним из моих фейворит плагинов является FasterFox. Он производит внутреннюю настройку FireFox для загрузки страниц в несколько потоков + содержит несколько функций, которыми я не пользуюсь. Если зайти на страницу плагина, то видно, что его поддержка остановилась на версии 2.0. В действительности же, так как все действия плагина сводятся к модификации about:config под оптимальные настройки производительности, он без проблем может работать и с новой версией.

Как же показать Огнелису, что плагин МОЖЕТ работать в новой версии?
fasterfox_error_message

Для дальнейшей работы нам потребуются две программы — архиватор (я предпочитаю WinRAR) и текстовый редактор (сойдёт и блокнот).

Первым делом скачиваем себе xpi-файл плагина.
Теперь открою небольшую тайну — этот самый xpi-файл представляет собой ничто иное, как обычный zip-архив, поэтому просто-напросто открываем его архиватором.

xpi-winrar

Из всего, что мы тут видим, нам необходим лишь файл install.rdf, содержащий информацию о названии плагина, его версии и совместимости. Извлекаем файл в какую-нибудь папку и открываем своим любимым текстовым редактором.

Перед нами самый обычный xml-документ, поэтому не пугаемся и ищем следующую строчку:
<em:maxVersion>2.0.0.*</em:maxVersion>

и меняем её, например, на такую, позволяющую плагину работать со всеми подверсиями 3-ей лисы:
<em:maxVersion>3.*.*.*</em:maxVersion>

Теперь запаковываем файл обратно в xpi-архив (в WinRAR достаточно просто перетащить его в окно с открытым архивом, а потом кликнуть ок).

Пробуем закинуть модифицированный файл в FireFox и вуаля —

fasterfox-installed

Что ещё хочется добавить? Пытливый читатель, открывший install.rdf, мог заметить строку, содержащую <em>em:version</em>, которая, как не трудно догадаться, указывает на версию самого плагина. Если вдруг решите её менять, то делайте это осторожно. Иначе вполне возможно, что при выходе действительно обновленного плагина, FireFox решит, что ваша версия новей и не сообщит вам об апдейте.

Вообще этот метод "обмана" браузера полезен как раз в переходный период, пока авторы плагинов не обновили свои детища, поэтому, как вариант, можно просто повременить с обновлением самого FireFox, но мы ведь не ищем лёгких путей 😀

Update спасибо тов. EvilFaeton за ссылку на такой полезный плагин, как Nightly Tester Tools, который позволяет активировать даже «не совместимые плагины», так же есть целый список дополнительных возможностей, но думаю они больше потребуются действительно тестировщикам. Если плагинов много, то лучше поставить Nightly Tester Tools, если же 1-2, то подойдёт и описанный вариант, дабы не плодить лишних аддонов.

[Plugins] Обзор плагинов — выпуск 1

На работе редкостная скукота, не смотря на то, что понедельник. Да и вообще я уже наметил увольняться, а то сидеть и тухнуть в бесперспективном месте — не для меня.

Этим постом думаю начать серию кратких обзоров новых плагинов. Постараюсь отбирать те, которые могут представлять интерес для конечного пользователя именно российского сегмента, так как не думаю, что "виджет показывающий что-то из вашего профиля в Facebook" будет особо актуален. Обзоры будут краткими, т.с. превьюшки со ссылками, и в большинстве своём "на себе" я плагины не буду тестировать, поэтому отзывы в комментариях приветствуются. А если будут какие-то проблемы с установкой/настройкой плагина, то пишите там же — если проблемка не тривиальная, то будем решать её отдельным постом с описанием и картинками.

Yank Widget (v.1.0)

Версии WordPress: с 2.5 по 2.6

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

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


TinyMCE Entities Patch (v.1.0)

Версии WordPress: все версии ветки 2.5.x

Это не столько плагин, сколько патч для визуального редактора. Причём довольно необходимый, если вы им конечно пользуетесь.

Если вы пишете посты в визуальном редакторе и вам требуется отобразить код html-спец.символов (например, &gt; — > ,&lt; — <, &quot; — "), то начинается целая борьба с редактором, так как он автоматически преобразует коды в сами символы.

Собственно плагин позволяет:

1. Вводить коды html-спец. символов (т.н. html-entities) в виз.редакторе, без боязни их преобразования после сохранения.

2. Сохранять "дополнительные" пробелы между словами/предложениями, а не преобразовывать их в единичный пробел.

Думаю, для пользователей виз.редактора, пишущих про html — это полезный патчик, а остальным можно его пропустить.

Важно! Если вы поставили себе WordPress 2.6, то там, в визуальном редакторе уже исправлена эта ошибка, поэтому не устанавливайте и/или отключите этот плагин. (Ещё один повод перейти на новую версию :D)


Context Ad Wrapper (v.0.2)

Версии WordPress: все выше 2.2.0

Плагин для пользователей контекстной рекламы — позволяет указать какаю часть страницы следует рассматривать, как источник контекста, чтобы выдавать более релевантные объявления. Например можно исключить из просмотра весь сайдбар с всякими "спонсорскими линками", "топом комментаторов". Повышаем релевантность — повышаем кликабельность объявлений.

На данный момент плагин работает со следующими конторами:

  1. Google Adsense
  2. Amazon.com Context Links
  3. Kontera ContextLink
  4. MediaText

Жаль, что нет РСЯ и Бегуна, но я вообще не уверен, что там можно указывать контентные блоки, для более качественной отдачи объявлений.


EasyBan (v.1.2.3.1)

Версии WordPress: с 2.5 по 2.5.1

Позволяет забанить посетителя временно или навсегда по следующим параметрам: IP (отдельно или диапазон адресов), домену или реф.ссылке. 

image

Тут всё просто, но между тем интересна возможность блокировки по реф.ссылке, а то многие сео-спамеры любят приходить и "срать" по примерно таким запросам. Попробуйте и поделитесь впечатлениями.

До следующих выпусков. Удачи.

Интересно прочитать о 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’у на вашем сайте.