Как изменить префикс таблиц базы данных WordPress?

Опубликовано: 02.09.2018

видео Как изменить префикс таблиц базы данных WordPress?

Как поменять префикс базы данных Wordpress

Общеизвестно, что база данных в CMS WordPress является “сердцем” всего сайта, так как вся информация, включая настройки тем и плагинов, хранится именно в ней. Поэтому именно база данных является основной целью для хакерских атак. Особо уязвимым местом в базе данных является названия ее таблиц. По умолчанию, “движок” создает одни и те же их названия во всех устанавливаемых копиях. Само название состоит из префикса ( wp_ ) и собственно имени самой таблицы (например, wp_options ). Отметим, что префиксы у всех таблиц одинаковые. Поэтому, чтобы запутать злоумышленника, достаточно изменить этот префикс.


Compnot #6. Как изменить префикс таблиц базы данных WordPress

Для изменения префикса таблиц базы данных WordPress существует несколько способов. Рассмотрим подробнее наиболее распространенные среди них.

Способ 1. Плагин Change Table Prefix

Бесплатный плагин  Change Table Prefix позволит в один клик корректно изменить префикс всех таблиц Вашего WordPress-сайта, не нарушая его работу. Для этого, во-первых, необходимо установить и активировать дополнение. После этого нужно в админ-панели перейти в раздел Настройки -> Change Table Prefix .

Видно, что плагин имеет минимум настроек. Так, в поле Your current table prefix is отображается текущий префикс таблиц (в нашем случае — это wp_ ). Для изменения префикса плагин предлагает два варианта. Первый заключается в том, что плагин в автоматическом режиме произвольно выберет название префикса. Обычно это простой набор из 5 любых символов. Для этого нужно просто нажать кнопку Click To Change Table Prefix .

Видно, что плагин выбрал в качестве префикса значение flrda_ . Если необходимо задать свое название префикса, то для этого нужно отметить опцию Would you like to your own custom prefix , после чего в появившемся поле ввести желаемые символы и нажать кнопку Click To Change Table Prefix .

Способ 2. Ручное изменение префикса таблиц

Этот способ предусматривает изменение префикса таблиц ручным способом. Корректная замена выполняется в два этапа. Во-первых, новый префикс нужно задать в wp-config.php — основном конфигурационном файле WordPress. Для этого в файле нужно найти строку $table_prefix = ‘wp_’ и вместо wp_ указать нужное значение (например, wpschool_ ).

Второй этап — это использование бесплатной утилиты для работы с базами данных phpMyAdmin , которую детально мы рассматривали в одной из наших прошлых статей. Будем считать, что Вы уже знаете, как ее открыть. Отметим лишь, что будем работать с вкладкой SQL .

Для начала заменим имена всех таблиц в базе данных с учетом нашего префикса wpschool_ . Сразу стоит отметить, что некоторые плагины создают свои собственные таблицы, которые тоже должны быть переименованы. Итак, в поле SQL необходимо вставить следующий код:

RENAME table `wp_commentmeta` TO `wpschool_commentmeta`; RENAME table `wp_comments` TO `wpschool_comments`; RENAME table `wp_links` TO `wpschool_links`; RENAME table `wp_options` TO `wpschool_options`; RENAME table `wp_postmeta` TO `wpschool_postmeta`; RENAME table `wp_posts` TO `wpschool_posts`; RENAME table `wp_termmeta` TO `wpschool_termmeta`; RENAME table `wp_terms` TO `wpschool_terms`; RENAME table `wp_term_relationships` TO `wpschool_term_relationships`; RENAME table `wp_term_taxonomy` TO `wpschool_term_taxonomy`; RENAME table `wp_usermeta` TO `wpschool_usermeta`; RENAME table `wp_users` TO `wpschool_users`; RENAME table `wp_yoast_seo_links` TO `wpschool_yoast_seo_links`; RENAME table `wp_yoast_seo_meta` TO `wpschool_yoast_seo_meta`;

В редакторе это будет выглядеть следующим образом:

После того, как будет нажата кнопка Вперед , наш запрос на переименование будет выполнен.

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

UPDATE `wpschool_usermeta` SET `meta_key` = REPLACE( `meta_key`, 'wp_', 'wpschool' ); UPDATE `wpschool_options` SET `option_name` = 'wpschool_user_roles' WHERE `option_name` = 'wp_user_roles';

Если все прошло успешно, сайт будет работать в штатном режиме, без каких-либо сбоев. Теперь плагины, которые захотят создать свои таблицы в базе данных, будут использовать заданный нами префикс wpschool_ , так как мы указали это значение в файле wp-config.php .

Если Вам понравилась статья — поделитесь с друзьями

rss