更改您的Wordpress数据库前缀
安装Wordpress博客时,一个很好的安全性提示是更改数据库表前缀,其想法是,这将隐藏所有希望破坏您博客的黑客使用的表。这可以在wp-config.php文件和变量$table_prefix中完成。将此值从默认wp_更改为blog_会将表wp_posts更改为blog_posts,使黑客更难找到它。使用blog_只是一个示例,您应该将前缀视为密码,并包括字母和数字,以使其更难查找。
但是,如果您已经安装了系统并想更改前缀,会发生什么?那么,您需要在wp-config.php文件中更改$table_prefix变量,并更改Wordpress数据库中的表。您首先要做哪个取决于您,但是您应该尽可能快地使它们同时运行。这是一些MySQL语句,可以帮助您完成此操作。
ALTER TABLE wp_comments RENAME TO blog_comments; ALTER TABLE wp_links RENAME TO blog_links; ALTER TABLE wp_options RENAME TO blog_options; ALTER TABLE wp_postmeta RENAME TO blog_postmeta; ALTER TABLE wp_posts RENAME TO blog_posts; ALTER TABLE wp_term_relationships RENAME TO blog_term_relationships; ALTER TABLE wp_term_taxonomy RENAME TO blog_term_taxonomy; ALTER TABLE wp_terms RENAME TO blog_terms; ALTER TABLE wp_usermeta RENAME TO blog_usermeta; ALTER TABLE wp_users RENAME TO blog_users;
这只是重命名默认表,以便它们具有新的前缀,只需对文本“blog_”进行查找/替换就可以使其具有唯一性。请注意,这不包括为您拥有的任何插件创建的任何表,因此您将不得不为每个表添加SQL语句。
这样可以使博客的首页正常运行,但是当您尝试登录到admin部分时,将看到以下错误。
Youdonothavesufficientpermissionstoaccessthispage.
发生这种情况的原因是在创建数据库时以及在添加新用户时仍创建具有旧前缀的引用表时创建的某些用户设置。需要更改表wp_usermeta和wp_options,因为它们都按名称引用表,并且如果更改表前缀将不会产生所需的结果。
要更改wp_usermeta(如果使用了上述SQL语句,则为blog_usermeta)表,请使用以下SQL查询。
UPDATEblog_usermetaSETmeta_key=REPLACE(meta_key,'wp_','blog_');
这将更改meta_key列中包含的值。更改后的值看起来像wp_capabilities,wp_autosave_draft_ids和wp_user_level,尽管除非在编辑时保存了帖子草稿,否则wp_autosave_draft_ids不会出现。
要更改wp_options表(再次是blog_options),请使用以下SQL查询。
UPDATEblog_optionsSEToption_name='blog_user_roles'WHEREoption_name='wp_user_roles'ANDblog_id=0;
现在,您应该可以访问您的管理系统了。
这篇文章适用于Wordpress2.3.3版。