Статьи

Улучшите качество темы WordPress с помощью VIP-сканера

Безопасность — важная тема.

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

Абсолютной безопасности не существует.

Цитируя Брюса Шнайера из его книги «Прикладная криптография»:

Единственная в мире безопасная компьютерная система отключена от сети, заперта в хранилище на дне океана, и только один человек знает, где и в каком месте находится это хранилище. И он мертв.

Вы, наверное, слышали, что даже у крупных компаний, таких как Facebook, Microsoft, Adobe и Google, были проблемы с безопасностью своих акций. В этих компаниях есть много разработчиков и специализированных команд, которые занимаются только безопасностью, и что-то не так.

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

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

Есть много инструментов, которые помогут вам лучше защитить ваши приложения. Некоторые из них являются общими, некоторые очень конкретными. Такие инструменты существуют и для WordPress. Для сайта WordPress качество темы является важной частью общей безопасности вашего сайта. Одним из плагинов, которые могут помочь вам в этой области, является VIP-сканер. Плагин VIP Scanner представляет собой пользовательский интерфейс для библиотеки VIP Scanner. Вы можете найти библиотеку в папке плагинов под vip-scanner

Моя текущая локальная установка использует Vagrant с шасси, посмотрите эту статью о шасси, если вы хотите использовать его тоже.

Существует два способа установить VIP-сканер. Со страницы плагинов и путем установки вручную с помощью git в папке плагинов. Предпочтительным способом является установка через git. Это связано с тем, что на странице плагина VIP-сканера доступна только более старая версия (v0.7), а не репозиторий GitHub версии v0.8. Разработчики этого плагина тоже предпочитают git. Для установки плагина перейдите в папку плагина и выполните:

 git clone https://github.com/Automattic/vip-scanner.git vipscanner
cd vipscanner
git submodule update --init --recursive

Первая команда загрузит плагин. Второй перейдет в наш недавно клонированный каталог. Третий будет клонировать все подмодули (PHP-Parser).

Теперь перейдите на панель инструментов WordPress и активируйте плагин. Чтобы увидеть этот плагин в действии, перейдите в Инструменты> VIP-сканер.

Там вы найдете 3 различных типа сканирования:

  • Неопределенная проверка функций
  • Обзор тем на wp.com
  • Обзор VIP-темы

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

Вы также можете использовать этот инструмент с WP-CLI , вы можете проверить документацию VIP сканера для получения дополнительной информации.

При сканировании темы (активной темы) вы обнаружите все виды проблем. Первый тип сканирования (проверка неопределенной функции) делает то, что говорит имя. Он сканирует весь каталог тем на наличие неопределенных функций. Это базовое сканирование, и вы должны использовать его для каждой разрабатываемой темы. Два других являются более конкретными. Второй тип сканирования (обзор тем wp.com) используется при разработке тем для сообщества. Третье сканирование используется только для WordPress VIP .

Итак, теперь мы знаем немного о VIP-сканере, давайте повеселимся! Давайте отсканируем официальные темы, которые поставляются с предустановленной WordPress (последняя тема). Первое сканирование (неопределенная функция) не выдает никаких ошибок. Второй будет отображать некоторые ошибки (в основном, предупреждения). Есть 3 раздела для сканирования, ошибок, заметок и анализа. Первый — это раздел, где будут отображаться ошибки, второй — предупреждения, а третий — хороший способ узнать больше о структуре темы. Информация, как количество классов, функций и деталей автора.

Неопределенная функция в плагине VIP-сканера для WordPress

Анализ на VIP Сканер Плагин для WordPress

Даже с официальными темами WordPress мы обнаружили несколько ошибок. Большинство из них:

В теме используется @package WordPress. Это зарезервировано для файлов WordPress Core.

Это потому, что вы не должны использовать @package WordPress ни в одной из ваших тем (несмотря на то, что это официальные темы WordPress).

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

Плохие Части

Одна вещь, которую я нахожу очень расстраивающей с WordPress в целом, — это отсутствие хорошего качества кода. VIP Scanner отлично справляется со своей задачей, и, благодаря коммитам, запросам и проблемам, он сообщает нам, что находится в активной разработке, и это здорово. Что я хотел бы увидеть, так это проект, использующий подмодули git для управления зависимостями. Packagist и Composer существуют по этой причине. В PHP не было инструментов управления зависимостями, но они наконец-то здесь. Кроме того, у меня было несколько проблем с Code Sniffer. При сканировании тем с помощью «VIP-обзора темы» я всегда получал сообщение о том, что у меня не установлен Code Sniffer локально. Я пытался обойти это и установить этот инструмент, но я не мог заставить его работать. Пожалуйста, оставьте комментарий, если вы поняли это.

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

Вывод

В этой статье мы увидели, что такое плагин VIP Scanner и как его использовать, чтобы лучше защитить наши сайты. Это хороший плагин, который может помочь вам не только для существующих сайтов WordPress, но и помочь вам при разработке собственных тем. Используя этот плагин, вы можете ускорить разработку своих тем, зная, что вы создаете их со спокойной душой. Это своего рода модульное тестирование тем WordPress, так что вы точно будете знать, что все работает правильно. Безопасность основывается на хороших практиках, и это поможет вам развиваться как разработчику.

Что вы думаете об этом плагине. Вы бы хотели использовать его в своем рабочем процессе? Какие еще плагины вы используете при создании тем для улучшения качества?