Как определить, какие изменения внес плагин или тема на сайт после активации
Опубликовано: 2018-10-30Предпочитаете видео тексту? Мы обеспечим вас — вот вся статья в коротком видео.
Если хотите, можете посмотреть видео с помощью vanced youtube.
Установка плагина (или темы) означает, что вы полностью доверяете свой сайт в руки их разработчиков. Нет никаких ограничений на то, что может делать код, который вы размещаете на сайте. Он может переместить все ваши кнопки на два пикселя влево из-за ошибки CSS, но он также может намеренно стереть все ваши файлы и всю базу данных. Установка плагинов из официального репозитория WP исключает вероятность второго сценария, но все же заставляет задуматься: какие изменения внес плагин на мой сайт?
Какие изменения вносят плагины на практике?
Перед реалистичным сценарием позвольте мне еще раз повторить теоретический. Вы устанавливаете и активируете сторонний PHP-код на своем сайте. Нет абсолютно никаких ограничений на то, что может делать код, пока он находится в сфере PHP и его возможностей и привилегий на сервере. Он, безусловно, может удалять файлы, изменять их или отправлять на удаленный сервер. То же самое касается данных, хранящихся в базе данных. Вы не можете остановить ничего из этого после активации плагина. Поэтому не используйте обнуленные плагины или темы, и если вы устанавливаете отрывочные плагины на работающем сайте, сначала сделайте резервную копию.
Установка плагинов и тем из отрывочных источников, таких как дампы GPL или любых нелегальных сайтов, никогда не была хорошей идеей. Если вы достаточно смелы, чтобы установить их на работающий сайт, пожалуйста, сначала сделайте резервную копию . Или, будьте еще умнее — протестируйте их локально, на промежуточной площадке или где-нибудь, где они не могут причинить большого вреда.
Теперь о более повседневных вещах. Что делают плагины, когда вы их активируете? Большие создают пользовательские таблицы базы данных. Пользовательские таблицы распространены и ожидаются, когда плагину необходимо хранить большие объемы данных или данные, которые не соответствуют схеме ключ-значение опций WP (или CPT). Почти все плагины создают новые строки в таблице wp_options
, используя API опций WP. Вполне ожидаемо и нормально. Что не ожидается или нормально и никогда не должно происходить, так это изменения в 12 основных таблицах WP. Как и основные файлы WP, основные таблицы никогда не должны редактироваться ни плагинами, ни пользователями. Плагины также добавляют переходы, создают собственные типы сообщений, добавляют виджеты и меню. Все это они делают с помощью различных API-интерфейсов WP, а данные сохраняются в основных таблицах.
Почему меня должно волновать, какие изменения вносит плагин?
Если вас не волнует качество плагинов или то, как они влияют на ваш сайт, включая скорость и доступность, то вам не о чем беспокоиться. Если вы проверяете плагин, который вот-вот будет установлен на десятках сайтов, которыми вы управляете, то вам, вероятно, интересно узнать, как он устроен и что он делает «за кулисами». Выполнение полного аудита кода — единственный надежный способ узнать, что происходит, но я знаю, что в большинстве случаев это нереально.
Хотите узнать, какие изменения плагин или тема внесла в ваш сайт #WordPress? Узнайте, как вы можете увидеть эти изменения.
НАЖМИТЕ, ЧТОБЫ НАПИСАТЬГлядя на изменения, внесенные плагином, вы получаете представление о том, как он использует ресурсы вашего сервера, насколько чист код и, например, как (или очищает ли) плагин себя после себя. Это также может помочь вам ответить на часто задаваемый вопрос: « Я недавно установил плагин X, и мне кажется, что мой сайт теперь работает медленнее, это из-за X? ”
Последняя, но не менее важная причина узнать об изменениях — реверс-инжиниринг и обучение. Может быть, вам нужна процедура установки, похожая на ту, которую вы видели в другом плагине, или вам просто интересно узнать, как он что-то делает.
Моментальные снимки базы данных в помощь
Моментальный снимок базы данных — это копия используемых в настоящее время таблиц базы данных, хранящихся в той же базе данных, которую использует WP. Снимки очень похожи на резервные копии, но создаются с другой целью. Резервные копии в основном существуют для сценариев «что, если». Снимки, с другой стороны, имеют более заметное использование. Когда вы создаете моментальный снимок, вы, вероятно, вернете систему к нему после некоторого тестирования или будете использовать его для сравнения двух версий базы данных. Подобное понятие в Windows называется точкой восстановления.
Обратите внимание, что моментальные снимки базы данных, как следует из названия, имеют дело только с базой данных. Файлы не копируются, не сохраняются, не сравниваются и не трогаются каким-либо другим образом.
Давайте сравним!
Вам не нужен инструмент для сравнения. Это можно сделать вручную, загрузив две версии базы данных и затем сравнив их. Однако после того, как я сделал это несколько раз, это был настолько неприятный опыт, что я сел и написал снимки БД WP Reset. С WP Reset сравнение занимает всего несколько кликов и не требует технических ноу-хау.
1. Установите и активируйте сброс WP
Самый быстрый способ — через WP Admin — Plugins — Add New и набрать в поиске «wp reset»; это будет первый результат. Кроме того, скачайте последнюю версию ZIP или перейдите на wordpress.org/plugins/wp-reset/.
2. Сделать снимок текущего состояния сайта
Откройте WP Admin — Инструменты — WP Reset, затем перейдите на вкладку Снимки БД и нажмите «Создать новый». Если вы тестируете новый плагин, назовите его, например, «до плагина X».
3. Внесите некоторые изменения на сайт
Установите новый плагин; активировать новую тему; внести некоторые изменения в существующие плагины или темы; создавать контент; беспорядок с виджетами — почти любое ваше изменение отражается в базе данных сайта, и вы сможете сравнить состояние до и после.
4. Сравните новое состояние с сохраненным снимком
Вернитесь к снимкам WP Reset и щелкните значок сравнения рядом с сохраненным снимком. Вы получите список таблиц базы данных с цветовой кодировкой.
Зеленые таблицы — это те, которые существуют в текущей базе данных и моментальном снимке, и они не изменились ни на йоту. Красные — это те, которые либо отсутствуют в снапшоте (это означает, что они были только что созданы), либо отсутствуют в текущей базе данных (то есть они были просто удалены). Оранжевые — это те, которые менялись либо с точки зрения данных, либо, реже, с точки зрения схемы. При нажатии на любую таблицу открывается более подробная информация об изменениях.
5. Не нравятся изменения, которые вы видите? Верните их!
Если вы хотите вернуть сайт в то состояние, в котором он был на момент создания моментального снимка, используйте действие восстановления рядом с сохраненным моментальным снимком. Он вернет базу данных в прежнее состояние, и все изменения исчезнут! Быстро и безболезненно.
Другие варианты использования моментальных снимков базы данных
Определение изменений — это лишь один из многих способов, которыми моментальные снимки базы данных могут помочь вам в разработке и тестировании. Вернувшись к моментальному снимку, вы всегда можете вернуть свой сайт в то состояние, в котором он был до внесения (проблемных) изменений. И делается это в два клика и несколько секунд ожидания. Всякий раз, когда вам нужна сложная среда тестирования, которая сильно изменяется после определенного действия, возвращение к подготовленному снимку состояния позволяет вам повторно протестировать ее в течение нескольких секунд. При необходимости вы также можете загрузить моментальные снимки в виде дампов SQL, сжатых с помощью gzip. Хотя их основная цель не в том, чтобы делать резервные копии на действующих сайтах, в крайнем случае это тоже можно сделать. Подробная разница доступна для измененных схем таблиц и для данных в таблице wp_options
. Универсальный diff для всех столов будет доступен в одной из следующих версий.
Напоминаем – вот короткое видео, которое мы сделали для демонстрации снимков.