
从CSDN搬家过来不久,我对WordPress还处于摸索阶段,今天花了点时间看了下WorPress下比较流行的插件和基本的安全配置方法,写下来和大家分享。
Part1 流行插件
WordPress 自带插件,有效过滤垃圾评论。
Akismet插件的使用非常简单,在“管理插件”中启用它,然后在“Akisemt”配置页面输入API Key即可。(注册一个WordPress.com的账户即可获得API Key,请参考 http://en.wordpress.com/api-keys/)
安装完成以后,在“管理首页”中就可以看到Akismet统计,Akismet则利用Open Flash Chart 来绘制一个直观的图表来表明Spam的情况。
WordPress Related Posts 和 Super Switch
因为我用的是WordPress 中文团队的汉化版,所以这两个由Denis和Crazy Loong开发的插件也是自带的。
这也是两个非常实用的插件,前者用于显示相关文章链接列表, 后者则可以用来关闭一些WordPress中不太常用甚至有些恼人的功能。Worpress Related Posts可以设置标题、找不到相关主题时显式的文本、相关主题的数量上限、需要排除在外的文章分类等,不过我还不是很明白“Related Posts for RSS”的作用,勾选以后没看出什么变化。
WordPress 拥有大量的功能特性,但是有的时候我们并不需要这么多功能,像日志修订这样的功能会在一定程序上使数据库很大,Super Switch正好可以用来关闭“显示版本”,“自动修订”,“自动保存”,“插件升级”,“主题预览”等功能。这里需要解释一下是“Browse Happy”,如果该功能被启用,Internet Explorer 下使用 WordPress 的用户,登陆 WordPress 控制台的时候,就能看到后台的页脚有一个 Browse Happy 的图片链接。对于使用者来说这是一个没有任何意义的功能,相关的论战,可以参考一下这里。
WordPress的代码高亮的插件不下10个,SyntaxHighlighter则被认为是其中最好用的一个。安装以后不需要任何配置,只要在编辑blog时用 YOUR CODE HERE 把你要插入的代码包起来就行。SyntaxHighlighter完全依赖JavaScript实现,不会对服务端没带来何额外负担,目前支持的语言包括C++、C#、CSS、 Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、VB以及XML/HTML等。

WordPress Database Backup安装完成以后,会在“工具”菜单多出一个“备份”选项。它用于备份数据库,功能上虽然没有WP-DBManager强大,但是可谓小而精,支持保存至服务器、下载至本地电脑以及通过电子右键发送备份文件,另外还可以设置自动定时备份,有了它就不怕数据会丢失了。
Google Analytics for WordPress
Google Analytics是Google的一款免费的网站分析服务,自从其诞生以来即广受好评,只要在网站的页面上加入一段代码,就可以提供的丰富详尽的图表式报告。而Google Analytics for WordPress插件则免去了手动修改代码的麻烦,只要安装该插件并输入Analytics Account ID即可开始网站访问的分析。Analytics Account ID在http://www.google.com/analytics注册后便可以得到,你所需要的就是一个域名。
Google Sitemap 就是一个包含你网站上所有公开页面和文档的链接和额外信息的 XML 文件。Google 会阅读这个文件,然后添加其中定义的页面到 Google 索引中。这个插件安装完以后在“设置”页面就多了一个“XML-Sitemap”选项,用户可以在这里选择建立网站地图。这里的可选设置非常多,我也正在学习中,暂时使用默认设置。这里有Denis的一片文章,值得借鉴。
Part2 初步安全配置
WordPress是目前全世界使用最多的blog程序,所谓树大招风,所以做好安全相关的设置是至关重要的。参考了月光翻译的十大WordPress安全设置技巧,sfox翻译的18个实用的 WordPress 安全插件及技巧,以及Nicky翻译的怎样保护你的 WordPress 站点,我总结了如下的基本安全设定方法,并在自己的blog上做了相应的实践。
1.更改管理员用户名
新建一个帐户,并给予管理员权限,设置一个安全的密码,然后删除默认的admin帐户。这是保护你的blog的第一步。
2.移除install.php、readme.html和readme-en.html
备份wp-admin/install.php,并把他从服务器上移除。虽然目前没有明确的bug存在,不过安全起见,还是删除为好,需要的时候在传上去便是。
readme.html和readme-en.html作为帮助文件,也会泄露你的版本信息,可以考虑删除,或者修改成其他版本号。:)
3.保护FTP的安全
尽量不要开匿名访问权限,保护好FTP的用户名和密码,有必要时应当考虑使用SFTP(Secure FTP)。
4.隐藏WordPress版本
大多数主题文件中的 head 标签下,都会有一行用来显示您正在使用的 WordPress 版本号信息的代码,如果觉得手动修改麻烦,可以通过上面提到的Super Switch插件或者WP Security Scan插件来帮我们实现。
5.WordPress数据库安全
为你的MySQL设置安全的密码,并且尽量不要使用wp_作为表前缀,如果已经这么做了(因为这是默认的情况),可以通过WP Security Scan插件中的Database security工具可以自动修改表前缀。
如果是手动修改的话,请不要忘记除了默认的10个数据表前缀以外,还有 wp_options表中下的wp_user_roles字段和 wp_usermeta 表中的wp_capabilities、wp_user_level、wp_autosave_draft_ids、wp_usersettings、wp_usersettingstime等字段名也需要修改。步骤可以参考这里,切记先备份数据!
6.登陆保护
安装Login Lockdown插件,它对于防止暴力解密的攻击十分凑效。它能够记录下每一次错误登入的 IP 地址和时间标记,如果探测到一个 IP 段在一时间段内登录失败的次数超过了某一数目,就会自动锁定其登录功能,并禁止此 IP 段的使用者登入系统。
和登陆保护相关的插件还包括Stealth Login、AskApache Password Protec和Semisecure Login Reimagined等。
7.后台管理页面保护
Admin SSL这个插件能强制所有需要输入密码才能访问的页面使用 SSL ,这样全部信息就会进行加密传送,不过得有 SSL 证书才能使用这款插件。
8.针对搜索引擎的保护
当一个搜索机器人访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。所以,搜索引擎的索引会将所有内部文件结构暴露出来,为了避免这一点,我们需要在 robot.txt 文件里添加以下语句来防止搜索引擎索引您的 WP 文件:
Disallow: /wp-*
如果对于robots.txt文件有什么疑问,请参考Google网站管理员/站长 帮助
9.防止列目录操作
像wp-content 这样的文件夹中存储了所有的主题和插件文件,因此需要禁止其他人对其进行浏览,而apache默认恰恰是打开了列目录的权限。这时我们可以在web根目录的 .htaccess 里面添加上以下语句,在整个站点都屏蔽列目录。(每一个放置.htaccess的目录和其子目录都会被.htaccess影响)
Options All -Indexes
这时如果你尝试在浏览器里访问wp-content以及他的子目录,就会得到404错误,而不是列出其内容了。(如果有root权限,修改Apache的httpconf是更好的选择, .htaccess 文件会在一定程度上影响性能)
10.保护您的 wp-config.php 文件
wp-config.php 文件包含了所有数据库登入凭证,因此无论在任何环境下您都应该将其隐藏起来。您可以在.htaccess 文件中加入以下语句来防止其它人浏览到 wp-config.php 文件:
<Files wp-config.php>
order allow,deny
deny from all
</Files>
最后,确保WordPress主程序和所有的插件都是最新版,并且定期修改密码(确保密码强度)。
这篇文章对我这样的新手很有用,谢谢了~
评论 by 张岩 — 2009-03-26 @ 23:06
@张岩
我也是一边学一边弄的,上面每一项都有实践过
写下来能够对别人有用就是最高兴的事了:)
评论 by William Hua — 2009-03-26 @ 23:17
好文章!
BTW,你的Blog能放视频吗?
评论 by Chocolly — 2009-04-03 @ 09:37
可以啊,在编辑器里嵌入object就行
评论 by William Hua — 2009-04-03 @ 09:52
好东西,收藏了
不过很多时候还是不愿意动.htaccess
评论 by karif — 2009-04-06 @ 00:32
@karif
这个评论插件不错啊!!!
评论 by karif — 2009-04-06 @ 00:33
@karif
我所知道的副作用就是会影响一些性能,但是没办法,安全第一
除非有权限动httpconf
评论 by William Hua — 2009-04-06 @ 22:52
很受用!!
评论 by phenix — 2009-04-19 @ 21:03
学习了,考虑的好周到!
评论 by 逍遥天涯 — 2009-04-20 @ 10:58
学习了~WP好上手,精通难啊~~~
评论 by Bobo — 2009-04-20 @ 19:41
@Bobo
我觉得要用好并不是很困难,学习它的代码倒是要不少时间
评论 by William Hua — 2009-04-20 @ 23:12
哈哈,教程写的很好,受教了
评论 by estoremap — 2009-04-23 @ 08:44
[...] WordPress流行插件和初步安全配置 (tags: wordpress plugin 安全) 2010.01.15 09:59:00 | Category: 美味书签 [...]
Pingback by links for 2010-01-14 « 布拉拉不说话 — 2010-01-15 @ 10:03
教程写的很好,很有用,安装了!
评论 by liyun — 2010-05-14 @ 13:11