デフォルトでインストールすると、phpBBで使うテーブルのprefix(各テーブルの前に付く接頭辞)あるは「phpbb_」で設定されます。もちろん通常はこれで問題ないのですが、ハックする側から見ると的を絞りやすくなってしまいます。
僕自身、「もう設定しているし、変えるのは大変そうだ」と思ってためらっていたのですが、実際にやってみると非常に簡単。
ミスにさえ気をつけて慎重にやればすぐに設定変更可能です。
まず変更するprefixを決めます。意味のないランダムなものが良いです。いったん設定してしまえば忘れてしまっても構いませんし、「config.php」を見ればいつでも確認できます。ここでは「xyz14xyz_」に変更する例が挙げられています。
prefixは、インストール時に「config.php」に定義されています。サーバにある「config.php」をダウンロードして確認して下さい。
という記述が見つかるはずです。まずこれを、
| $table_prefix = 'xyz14xyz_' |
に変更します。アップロードしてしまうと当然フォーラムは動かなくなるのでとりあえずこの状態でローカルに置いておきます。
次にSQLのテーブルを変更します。SQLクエリの書式は、
ALTER TABLE phpbb_auth_access RENAME TO xyz14xyz_auth_access;
|
となります。通常だと、元ページに挙げられている、
ALTER TABLE phpbb_auth_access RENAME TO xyz14xyz_auth_access;
ALTER TABLE phpbb_banlist RENAME TO xyz14xyz_banlist;
ALTER TABLE phpbb_categories RENAME TO xyz14xyz_categories;
ALTER TABLE phpbb_config RENAME TO xyz14xyz_config;
ALTER TABLE phpbb_confirm RENAME TO xyz14xyz_confirm;
ALTER TABLE phpbb_disallow RENAME TO xyz14xyz_disallow;
ALTER TABLE phpbb_forum_prune RENAME TO xyz14xyz_forum_prune;
ALTER TABLE phpbb_forums RENAME TO xyz14xyz_forums;
ALTER TABLE phpbb_groups RENAME TO xyz14xyz_groups;
ALTER TABLE phpbb_posts RENAME TO xyz14xyz_posts;
ALTER TABLE phpbb_posts_text RENAME TO xyz14xyz_posts_text;
ALTER TABLE phpbb_privmsgs RENAME TO xyz14xyz_privmsgs;
ALTER TABLE phpbb_privmsgs_text RENAME TO xyz14xyz_privmsgs_text;
ALTER TABLE phpbb_ranks RENAME TO xyz14xyz_ranks;
ALTER TABLE phpbb_search_results RENAME TO xyz14xyz_search_results;
ALTER TABLE phpbb_search_wordlist RENAME TO xyz14xyz_search_wordlist;
ALTER TABLE phpbb_search_wordmatch RENAME TO xyz14xyz_search_wordmatch;
ALTER TABLE phpbb_sessions RENAME TO xyz14xyz_sessions;
ALTER TABLE phpbb_smilies RENAME TO xyz14xyz_smilies;
ALTER TABLE phpbb_themes RENAME TO xyz14xyz_themes;
ALTER TABLE phpbb_themes_name RENAME TO xyz14xyz_themes_name;
ALTER TABLE phpbb_topics RENAME TO xyz14xyz_topics;
ALTER TABLE phpbb_topics_watch RENAME TO xyz14xyz_topics_watch;
ALTER TABLE phpbb_user_group RENAME TO xyz14xyz_user_group;
ALTER TABLE phpbb_users RENAME TO xyz14xyz_users;
ALTER TABLE phpbb_vote_desc RENAME TO xyz14xyz_vote_desc;
ALTER TABLE phpbb_vote_results RENAME TO xyz14xyz_vote_results;
ALTER TABLE phpbb_vote_voters RENAME TO xyz14xyz_vote_voters;
ALTER TABLE phpbb_words RENAME TO xyz14xyz_words; |
でOKなのですが、例えばAttachment MODなどを適用しているとテーブルが増えているはずなので、すべてのテーブルがリストされているか確認し、漏れているものは追加します。もっとも、漏れていたものがあれば、後でSQLクエリを打てば変更できますが。
phpMyAdminを使っていれば、phpBBで使用しているデータベースを開き、「SQL」のタブをクリック。
現れたテキストボックスに上のクエリをコピー&ペーストして実行すればOKです。
すべてのテーブルのprefixが変更されたのを確認したら、「config.php」をアップロードします。
これで終了です。従来通りフォーラムが動くことを確認して下さい。