WordPressのセキュリティをちょっとだけアップ

公開日: 2008年12月17日水曜日 WordPress

参考
WordPressのセキュリティをアップする11のポイント | コリス

既にココでやってることやココでは必要ないものもあるみたいですが、とりあえず今回は

  • テーブル名の接頭辞($table_prefix)を「wp_」以外のものに変更する。

  • 管理画面のユーザー名にデフォルトの「admin」を使用しない。
    ユーザー名はphpMyAdminなどで変更できます。


これらの対応をしました。

「admin」の変更は、XREA管理画面 > データベース > phpMyAdmin からちょちょいで。

続いてプレフィクスの変更。
参考
WordPress のテーブルプレフィクスを変更する時の注意点 | バシャログ。

実際は別のプレフィクスにしましたが、例として「wp_」を「wp_test_」に変更する場合の例を。

まずはwp-config.phpでプレフィクスを設定しているところを変更。
[php num=56]$table_prefix = 'wp_test_';[/php]

phpMyAdminでテーブル名を変更
[sql]ALTER TABLE `wp_comments` RENAME `wp_test_comments`;
ALTER TABLE `wp_links` RENAME `wp_test_links`;
ALTER TABLE `wp_options` RENAME `wp_test_options
ALTER TABLE `wp_postmeta` RENAME `wp_test_postmeta`;
ALTER TABLE `wp_posts` RENAME `wp_test_posts`;
ALTER TABLE `wp_term_relationships` RENAME `wp_test_term_relationships`;
ALTER TABLE `wp_term_taxonomy` RENAME `wp_test_term_taxonomy`;
ALTER TABLE `wp_terms` RENAME `wp_test_terms`;
ALTER TABLE `wp_usermeta` RENAME `wp_test_usermeta`;
ALTER TABLE `wp_users` RENAME `wp_test_users`;[/sql]
※使用しているプラグインがテーブルを作成している場合もあります。
※上記は『例』ですが当ブログの場合はこれ以外にいくつかテーブルがあったのでもちろんそれも。

これでトップページにアクセスしてページが見れればOK。

続いて管理画面。
管理画面にアクセスしようとすると
このページにアクセスするための十分なアクセス権がありません

と怒られます。

変更前の「wp_」のテーブル名がデータの中に残っているところがあるから。
なのでこれも変更します。

[sql]UPDATE wp_test_options SET option_name = 'wp_test_user_roles' WHERE option_name = 'wp_user_roles';
UPDATE wp_test_usermeta SET meta_key = 'wp_test_capabilities' WHERE meta_key = 'wp_capabilities';
UPDATE wp_test_usermeta SET meta_key = 'wp_test_user_level' WHERE meta_key = 'wp_user_level';[/sql]

これで管理画面にアクセスできるようになりました。

前々からプレフィクスの変更はやろうやろうと思っていてほったらかしでした。
やっとできた。ふぃー。
  • ?±??G???g???[?d????u?b?N?}?[?N???A

2 件のコメント :

  1. [...] と言われた時の対処方法をメモしておきます。(thanks!! triumphal*roman ) phpmyadmin で、 test_options のところ(仮に wp_ を test_ としてメモ) [...]

    返信削除