Меняем префикс базы данных на уже установленном блоге

Если вы когда-нибудь устанавливали WordPress сами, то возможно вам знакомо такое поле (на этой странице вы ещё вводили логин и пароль для подключения к базе данных, ну если конечно не создавали файл wp-config.php вручную).

wp_ префикс по умолчанию

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

Никого не слушайте, обязательно напишите там что-то своё, если хотите обезопасить блог от SQL-инъекций!

Если вы так и поступили, то отлично, а что делать тем, кто оставил префикс wp_ по умолчанию?

Ну во-первых есть плагины…
Но мы же крутые веб-разработчики и не используем плагины :D

Короче вот небольшая инструкция по замене префикса в базе, состоящая из 3-х шагов, даже из 2-х, потому что последние можно объединить.

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

Итак, приступим, Шаг 1:

Открываем файл wp-config.php и меняем там строчку $table_prefix = "wp_"; на $table_prefix = "new_"; Вместо new_ можно написать что угодно — это и будет новый префикс.

Шаг 2 и Шаг 3:
Теперь осталось выполнить несколько SQL-запросов, например через phpMyAdmin. Так же, как и в первом шаге, wp_ — старый префикс, а new_ — новый.

RENAME TABLE wp_commentmeta TO new_commentmeta;
RENAME TABLE wp_comments TO new_comments;
RENAME TABLE wp_links TO new_links;
RENAME TABLE wp_options TO new_options;
RENAME TABLE wp_postmeta TO new_postmeta;
RENAME TABLE wp_posts TO new_posts;
RENAME TABLE wp_terms TO new_terms;
RENAME TABLE wp_term_relationships TO new_term_relationships;
RENAME TABLE wp_term_taxonomy TO new_term_taxonomy;
RENAME TABLE wp_usermeta TO new_usermeta;
RENAME TABLE wp_users TO new_users;
UPDATE new_options SET option_name = 'new_user_roles' WHERE option_name = 'wp_user_roles';
UPDATE new_usermeta SET meta_key = 'new_capabilities' WHERE meta_key = 'wp_capabilities';

Ну вот и всё, блог теперь более защищён :)

Смотрите также

Комментарии 3

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.