|
Мар
02
|
Когда безопасность блога на WordPress рассматривается в отношении к базе данных блога, есть несколько приемов для повышения уровня безопасности базы данных.
1. Изменение префикса таблиц в базе данных WordPress
Стандартный префикс таблиц базы данных установленного WordPress такой “wp_”.
Название таблицы – место, где можно взять информацию, потому имя таблицы не следует создавать стандартным. Гораздо лучше, если префикс таблиц базы данных будет нетривиален и более сложен.
Как изменить префикс таблиц
1.1. Если WordPress еще не установлен, это сделать несложно. Достаточно отредактировать файл wp_config.php.
В указанном файле находим строку
$table_prefix = ‘wp_’;
и заменяем, допустим, на что-то более сложное, например
$table_prefix = ‘wp89293tge_’;
1.2. Если WordPress уже установлен, то сложность смены префикса возрастает.
1.2.1. Придется вручную переименовать все таблицы базы данных WordPress (таблиц ~15).
Для этого выполняем (например из интерфейса phpMyAdmin) SQL запрос к каждой таблице такого вида
RENAME TABLE wp_posts TO wp89293tge_posts;
1.2.2. Далее нужно изменить несколько записей в таблице wp_options (т.е. в новой таблице wp89293tge_options).
UPDATE wp89293tge_options SET option_name=’ wp89293tge_user_roles’ WHERE option_name=’wp_user_roles’ LIMIT 1;
Аналогично выполнить и для других записей, где используется обращение к таблицам по прежнему имени.
1.2.3. Не проверял, но, возможно, второй шаг (и вместе с ним 1-й) проще сделать следующим образом:
- экспорт базы данных через phpMyAdmin в SQL файл
- замена по всему дампу базы данных текстовым редактором символов ‘wp_’ на ‘wp89293tge_’
- импорт измененного SQL файла в базу данных
1.3. Для совсем ленивых: можно воспользоваться специальными плагинами для смены имен таблиц. Это плагин WP Prefix Table Changer и плагин WordPress Table Prefix Rename Plugin.
Замечание: как всегда, при работе с базами данных рекомендуется сделать резервную копию перед началом действий.
2. Изменение имени логина администратора в базе данных WordPress
Стандартное имя логина администратора имеет тот же недостаток, как и стандартное имя таблиц – это имя хорошо известно. По умолчанию учетная запись администратора имеет логин admin.
Изменить логин администратора можно с помощью SQL-запроса:
UPDATE wp89293tge_users SET user_login=’new_login’ WHERE user_login=’admin’
Новый логин администратора теперь new_login.
Спасибо пользователю phoenix за указание на ошибку.
3. Удаление учетной записи администратора.
Еще один способ избавиться от стандартного логина admin – удаление учетной записи администратора.
Все указанные ниже действия осуществляются из админки WordPress без каких-либо сторонних приложений.
- Сначала необходимо создать нового пользователя и наделить его правами администратора.
- Затем завершить сессию пользователя admin и залогиниться под новым логином администратора.
- Теперь можно удалить логин admin, при удалении, чтобы не потерять посты администратора, в web-интерфейсе удаления необходимо выбрать пункт “Связать все записи и ссылки: ”
И чтобы никто не догадался: отображаемое имя пользователя должно отличаться от логина пользователя WordPress.
———————-
http://blogwm.ru/security-wordpress/
http://igorosa.com/8-tweeks-wordpress-security/
http://streha.ru/2007/09/19/zashhiti-sebya.html



марта 7, 2010 at 0:20
Спасибо за статью прошу у вас разрешение на резмещение ее на моем блоге с обратной ссылкой на источник http://biznesvmire.ru/
марта 7, 2010 at 8:42
biznesvmire
C ссылкой на источник я не против.
Но у вас другая тематика блога, не увидел рубрики на http://biznesvmire.ru/ куда походит такое размещение.
апреля 27, 2010 at 18:50
UPDATE wp89293tge_users SET user_login=’admin’, user_login=’new_login’;
решили всей таблице пользователей поставить new_login логин? xD
апреля 27, 2010 at 19:42
phoenix
спасибо за напоминание.
То-то я мне эта строка не нравилась
Должно быть, видимо, так:
UPDATEwp89293tge_users
SET
user_login=’new_login’
WHERE
user_login=’admin’