Обновить
1.5

WordPress *

Открытая система управления содержимым сайта

Сначала показывать
Порог рейтинга
Уровень сложности

Уязвимость wordpress

Время на прочтение1 мин
Количество просмотров9K
Wordpress опубликовал обновление WordPress 4.2.1.
Это критически важное обновление и всем пользователям популярной CMS Worpress рекомендуется обновиться.
Несколько часов назад команда получила информацию о XSS уязвимости, которая может быть использована злоумышленником, если на сайте включена возможность комментирования записей блога.
Уязвимость была обнаружена Jouko Pynnönen.

Уязвимость связана с тем, что если комментарий превысит стандартные для MySQL TEXT 64КБ, то будет будет усечен при внесении в базу данных.
Читать дальше →

Нюансы коммерческой разработки на WordPress

Время на прочтение7 мин
Количество просмотров52K


Доброго времени суток, уважаемый читатель. Судьба сложилась так, что я один из тех, кто отвечает за разработку проектов интернет-агентства в любимом, для меня, городе Хабаровск. И хотел бы поведать о том, как мы сохраняем должное качество продукта для клиентов, при условии довольно низких бюджетов, в сравнении с центральной частью России, что сказывается на требованиях к скорости сборки проекта. И цель моя — сократить издержки на разработку и дальнейшее обслуживание, что выливается в необходимость как можно быстрей сделать сайт с как можно большим количеством редактируемых в админ-панели элементов.

По большей части информация будет «технического плана», касательно CMS Worpdress, «по верхушкам». Я рассказываю лишь про наш путь, для кого использование технологий, путей, приемов etc. вопрос религии — просьба воздержаться от холиваров.
Приступим

Преимущества Wordpress

Время на прочтение4 мин
Количество просмотров18K
Эта публикация является ответом на пост «Недостатки Wordpress — техническая сторона».

По традиции автора, уточню несколько моментов:

  1. Дабы внести ясность, сразу скажу, что я тоже намерен рассматривать статью с технической стороны, но через призму всех разработчиков, а не только опытных;
  2. Мне доводилось иметь дело со многими CMS, в том числе и ezpublish, который написан, практически весь, со строгим использованием ООП. В своё время плотно использовал Drupal;
  3. Большую часть времени я программирую с помощью сторонних фреймворков и осведомлён, каким должен быть хороший движок;
  4. Ни в коем случае, не считаю себя гуру PHP, просто знаю, что настоящие гуру возможно обойдут тему WordPress стороной.

Я нигде не встречал более простых и элегантных реализаций функционала, чем в WordPress. Я отнюдь не считаю, что во всех проектах должна использоваться эта CMS, но, на мой взгляд, WordPress хорошо справляется с возложенными на него задачами и отнюдь не без использования ООП. Вся фишка в том, что ООП использовать никто не запрещал. Многие плагины написаны как раз с его использованием.
Читать дальше →

Legacy-код — это рак

Время на прочтение7 мин
Количество просмотров84K
Все чаще и чаще я вижу, что люди уклоняются от новейших технологий, делая выбор в пользу обратной совместимости. «Мы не можем повышать минимальные требования к PHP до 5.5, потому что у нас 50% пользователей еще на 5.4» говорят они. «Нет никакого способа обновиться до Guzzle 4+, у нас бекенд на версии 3 и переделывать его слишком долго и дорого». И самый лучший аргумент от WordPress: «Мы не может придти к полному ООП, потому что большинство пользователей сидят на shared-хостингах с 5.1 или не знают про MVC».

Нонсенс.

Legacy-код – это большое НЕТ


Возможно, это спорный вывод, но я твердо уверен, нет места для legacy-кода в современных системах. Скажу несколько слов, прежде чем вы начнете точить свои вилы и зажжете факелы. Я имею ввиду, что не должно быть ни малейшего повода поддерживать старый функционал, вы добавляете обновления задним числом к старой версии только потому, что некоторые люди все еще используют ее. Даже если этих людей большинство — не делайте так.
Читать дальше →

Недостатки Wordpress — техническая сторона

Время на прочтение12 мин
Количество просмотров110K
Прежде всего, считаю нужным уточнить несколько моментов:

  1. Эта статья не про какие-либо возможные недостатки интерфейса панели администрирования, тем оформления, готовых плагинов для wordpress или что там еще может интересовать типичного веб-мастера? Со всем этим как раз, на мой взгляд, у WordPress всё относительно в порядке. Эта статья про код.
  2. Статья во многом опирается на материалы, мною собранные воедино, вольно переведенные и от себя значительно дополненные. Ссылки представлены в конце статьи.
  3. Популярность — не синоним качества. Не нужно использовать этот довод как доказательство качества технического исполнения. WordPress популярен явно по совершенно иным причинам.

Читать дальше →

Страничное кеширование в WordPress

Время на прочтение6 мин
Количество просмотров32K
image

В последнее время на Хабре появилось довольно много постов по данной теме, но по своей сути их можно назвать: «Смотрите, я поставил Varnish / W3 Total Cache и держу миллион запросов на «Hello world» страничке». Данная же статья рассчитана больше на гиков, желающих познать, как же это все работает и написать собственный плагин для страничного кеширования.

Зачем?


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

Вышел WordPress 4.1.1

Время на прочтение1 мин
Количество просмотров11K
Сегодня вышла минорная версия WordPress 4.1.1, в который был исправлен 21 баг релиза 4.1 «Dinah». Баги были самые разные — от глюков с редактором в Google Chrome до регулярного обращения движка к серверу обновлений при каждой загрузке панели управления сайтом.

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

Разработчики обращаю внимание на то, что начиная с версии 4.1 обновление системы стало производиться автоматическим образом. Чему многие из нас сегодня утром и стали свидетелями. Если автоматическое обновление у вас не сработало вследствие настроек хостинга, рекомендуют обновиться вручную.

Читать дальше →

Делаем онлайн-кинотеатр для слепых (WCAG 2.0 AAA)

Время на прочтение4 мин
Количество просмотров24K
В РФ живет около 275 тысяч слепых и слабовидящих людей, 22% молодежь, некоторые из них также являются пользователями интернета, как и мы.

В этой статье я поделюсь с вами инструментами и необычным опытом, который можно получить при создании онлайн-кинотеатра для слабовидящих людей.

image
(пример адаптированной темы на GitHub по ссылке с картинки )
про WCAG 2.0 и как ему соответствовать читайте внутри

Руководство по миграции WordPress-сайта

Время на прочтение7 мин
Количество просмотров220K


Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (deploy) локальной версии на удалённом сервере, и перенос работающего сайта с одного сервера на другой. Некоторые печатные издания для программистов называются «Cookbook» – что буквально значит «книга рецептов». Рецептов множество, какой из них лучший — дело вкуса. В этом материале автор расскажет о том, какую технологию переноса типичного сайта на WordPress он считает оптимальной, и почему.
Читать дальше →

Внедрение через URL: www.site.ru/?jn=xxxxxxxx

Время на прочтение2 мин
Количество просмотров23K
Буквально на днях столкнулся с новым (*?) вариантом спам-вируса для веб-сайтов. Гугл определяет его как «Внедрение через URL».

Описание

На вашем сайте появляются ссылки которых не было и быть не могло — вы, например, четко знаете структуру сайта и оригинальный вид URL, который отличается от «левых» URL. В частности, в индексе поисковиков появляются ссылки вида:
www.site.ru/?jn=xxxxxxxx

Поиск и устранение

Яндекс-Вебмастер пока не реагирует на них, а вот в инструментах Гугла для вебмастеров выдается предупреждение о возможном взломе сайта. Там же даны рекомендации по поиску. К сожалению они довольно общие и конкретный поиск проблемы занимает время. Антивирусы и он-лайн анализаторы сайтов — результата не дают. Только ручками.

Вариант А: Код не обфусцирован

  1. Ищем в исходниках кто и как у нас пользует переменную $_GET['jn']
  2. Далее по коду смотрим кто где гадит (например: \js\swfupload\plugins\jquery\)

Вариант Б: Код обфусцирован

  1. Ищем каталог с файлами, названия которых идут после "?jn="
  2. Ищем подозрительные исполняемые файлы типа images/c0nfv.php
  3. Можно сделать поиск путей где могут быть файлы а-ля "/img/icon/thumb/jquery.php"
  4. Проверить дату изменения конфигов CMS
  5. Рекомендуется проверить на наличие (корректность) файлов base.php — это само тело вируса, код обфусцирован
  6. Проверяем дату jquery.php и сравниваем ее с датой обнаружения вируса по мониторингу инструментов вебмастеров Гугла.

Встречается

  • CMS: Joomla, WordPress, DLE, PrestaShop, HostCMS
  • Plugins: ImageZoomer, SWFupload, BlockCategories
  • Велика вероятность появления практически во всех плагинах, которые используют JQuery и в тех местах, где у админов ручки не дошли до настройки.

Полный код (необфусцированного) зловредного кода под катом.
Читать дальше →

WordPress обновился до версии 4.1

Время на прочтение3 мин
Количество просмотров27K

Самая популярная в мире система управления сайтами WordPress обновилась до версии 4.1 под кодовым названием «Dinah», в честь джазовой певицы Дины Вашингтон.
Со слов авторов системы версия WordPress 4.1 должна помочь вам сфокусироваться на написании публикаций, а новая тема оформления по-умолчанию позволит показать написанное «в стиле».
Что нового?

WordPress для параноиков, часть 1

Время на прочтение9 мин
Количество просмотров63K
Итак, если вы счастливый владелец nginx, знатный параноик и за каким-то чертом решили поставить wordpress, то… Первое, что пришло в голову — это «надо ограничить сему творению свободу!».

Настройки учетной записи, как и настройки php5-fpm, я опущу, так как у каждого свои тараканы, а кто-то вообще на apache запускает. Но вот общие для Wordpress я опишу в этой части. Напишу о том, что сделал, что получилось и почему.
Читать далее

Ближайшие события

84% сайтов на WordPress могут быть взломаны: что дальше?

Время на прочтение2 мин
Количество просмотров46K
image

Если вы часто читаете IT-новости, то наверняка уже устали от страшилок об очередной уязвимости, которая нашлась в популярной OS / СУБД / CMS / кофеварке. Поэтому данный пост посвящен не самой уязвимости, а наблюдению за тем, как люди регируют на неё.

Однако сначала — несколько слов о «виновнице торжества». Критическая уязвимость популярном блоговом движке WordPress была найдена в сентябре финскими специалистами из компании с весёлым названием Klikki Oy. Используя эту дыру, хакер может вести в качестве комментария к блогу специальный код, который будет выполнен в браузере администратора сайта при чтении комментариев. Атака позволяет скрытно перехватить управление сайтом и делать разные неприятные вещи под админским доступом.
Читать дальше →

Уязвимость в Akeeba Backup и Joomla!

Время на прочтение2 мин
Количество просмотров7.5K

Описание


Уязвимость позволяет удалённому злоумышленнику извлечь архив, хранящийся где-то удалённо, на атакуемый сайт во время распаковки резервной копии или установки обновлений, в зависимости от настроек. Само наличие уязвимости не позволяет её использовать. Злоумышленник должен атаковать именно в то время когда извлекается архив резервных копий или устанавливается пакет обновления Joomla!

Версии программного обеспечения, подверженные уязвимости


  • Akeeba Backup for Joomla! Professional, версии 3.0.0 и выше, включая 4.0.2
  • Akeeba Backup Professional for WordPress, 1.0.b1 и выше, включая 1.1.3
  • Akeeba Solo, 1.0.b1 и выше, включая 1.1.2
  • Admin Tools Core and Professional, version 2.0.0 и выше, включая 2.4.4. Более поздние версии не подвержены, так как не включают в себя Joomla! update.
  • Akeeba CMS Update, version 1.0.a1 и выше, включая 1.0.1
  • Joomla! 2.5, 3.0, 3.1, 3.2, 3.3 и выше, включая 3.3.4

Читать дальше →

Yii + WordPress = <3, или Увлекательный эксперимент получения Франкенштейна

Время на прочтение3 мин
Количество просмотров20K
Всем привет. Я — Денис Мельский. Работаю PHP Developer в DataArt. Область моих профессиональных интересов — Web Development и Linux. Сегодня я хотел бы поговорить с вами о «скрещивании ежа с ужом».

image

Intro


На первый взгляд может показаться, что это безумство и, в некотором роде, архитектурный костыль. Но, если посмотреть с другой стороны, это один из вариантов выхода из часто встречающейся тупиковой ситуации: заказчик хочет WordPress и ничего другого не признает. Скорее всего, что-то он такое услышал, нагуглил, увидел, посоветовал сосед гуру кодер Джон (ну, или Вася).
А программисты наотрез отказываются натягивать на движок блога, с, мягко говоря, не самой лучшей архитектурой, функционал, допустим, интернет-магазина, форума, и вдобавок — REST API для партнёров этого магазина, и сверху — еще пачку кронов с бизнес-логикой.

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

Один из вариантов, который я нашел проводя исследование, на эту тему— скрещивание WordPress и Yii.

Читать дальше →

Первый взгляд на дизайн новой стандартной темы WordPress «Twenty Fifteen»

Время на прочтение2 мин
Количество просмотров17K


Вчера Konstantin Obenland представил в блоге «Make WordPress Core» дизайн новой стандартной темы WordPress под названием «Twenty Fifteen». Matt Mullenweg обратился к Takashi Irie — дизайнеру тем в Automattic — чтобы тот сделал дизайн для новой стандартной темы. Кстати, дизайн «Twenty Fourteen» тоже делал он.
Читать дальше →

Релиз WordPress 4.0 Benny

Время на прочтение2 мин
Количество просмотров28K


Сегодня стала доступна для скачивания четвертая версия WordPress, названная в честь американского джазмена Бенни Гудмана, известного под прозвищем «Король свинга».

Разработка четвертой версии началась в конце апреля под руководством Helen Hou-Sandí. Этот релиз включает в себя сотни улучшений и несколько совершенно новых функций, которые относятся к работе с медиафайлами и редактору. Также появились новые крутые инструменты для разработчиков. Под катом представлен краткий обзор новых фич.
Читать дальше →

5 WordPress плагинов для укрепления поведенческих и социальных метрик сайта

Время на прочтение4 мин
Количество просмотров19K
Привет, Хабр!

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

Easy




Easy – многофункциональный плагин, позволяющий легко и удобно кастоматизировать расположение блоков контента на странице. При этом совсем не обязательно разбираться в HTML и CSS. Страница сайта собирается из «кирпичиков», которые просто передвигаются на необходимые места. Основными «кирпичиками» контента являются: заголовок, текст, изображения, категории, теги, комментарии, автор, shortcode, дата и т. д. Вы можете менять и композицию страницы, передвигая ее логические блоки, такие как количество постов на странице, тип публикаций, различные фильтры и т. д.
Читать дальше →

Вклад авторов