对于开源的产品我们安全做法除了官方提供的之外还需要对版本,目录,图片及数据库前缀进行一些其它设置了,下面我来总结一下wordpress博客的安全配置吧.
在前面几节,我们分别对wordpress安全性作了比较大的动作,包括《修改admin账号》,《隐藏版本号》,《保护登陆页面》基于以上这些设置,安全性已经提高了一个层次,那么关于其他的一些设置,可以给出来参考一下.
修改数据库前缀
WordPress默认会以wp_做为数据库中表的前缀,可以把它修改成一个随即的值,其实这个在你安装的时候是可以选择,那么对于已经安装好的博客,如果你不想手动修改表和配置文件,可以用插件来完成这项工作:Change DB Prefix,可以一键重命名表前缀为任意的字符串.
防止用户浏览WordPress目录
有些主机默认会允许用户访问目录列表,你可以尝试在浏览器中访问“域名/wp-includes”目录,看文件是否有被列出来,让目录文件结构直接呈现给用户显然存在一定的安全隐患,打开WordPress根目录下的.htaccess文件,可在顶部添加
Options All -Indexes
保护wp-content文件夹里的文件
WordPress的PHP文件是无法通过http访问的,所以,这里我们需要注意的是图片,附件,CSS和JS代码,保护的方法修改.htaccess,代码如下:
- Order Allow,Deny
- Deny from all
- “” ~=”">
- Allow from all
使用SSL
如果你担心数据泄露或被截获,可以使用SSL连接方式,但请确保主机支持SSL,如果不支持请直接跳过本条.
打开wp-config.php 文件(一般位于根目录)添加以下代码:
define(‘FORCE_SSL_ADMIN’, true);
这里,定义了FORCE_SSL_ADMIN常数,其值设置为true,这样就在WordPress里开启了SSL。
防止图片盗链
大多数虚拟主机和VPS都是限制流量的,而图片往往会消耗绝大部分流量,我们在希望自己文章被更多人访问和传播的同时又不得不去面对图片链接带来的巨大流量,所以可以借用防止图片外链代码:
- RewriteEngine On
- #Replace ?mysite.com/ with your blog url
- RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]
- RewriteCond %{HTTP_REFERER} !^$
- #Replace /images/nohotlink.jpg with your “don’t hotlink” image url
- RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
跟踪WordPress服务器的登录活动
你可以在Linux中使用“last -i”命令来获取所有登录到服务器的IP地址,如果你在列表中发现一个未知的IP地址,一定要立即更换密码.
此外,也可以使用以下命令来显示一段时间内按IP地址分组的用户登录活动信息(用你的shell的用户名替换USERNAME).
last -if /var/log/wtmp.1 | grep USERNAME | awk ‘{print $3}’ | sort | uniq -c
备份数据库
对于网站数据库备份是必须的,如果你有定期备份习惯最好,如果没有,可以使用BackWPup插件.
使用安全性插件
关于wordpress安全性插件很多,而且前面说的内容都可以使用插件来实现,所以不多介绍,可以去了解一下.
隐藏版本号
简单隐藏,寻找header.php模板文件里的以下代码并删除。
<meta name="genrator" content="WordPress <php bloginfo('version'); ?> />
完全隐藏,在functions.php添加以下代码可隐藏网站所有输出区域中的wordpress版本号:
- function wpbeginner_remove_version() {
- return '';
- }
- add_filter('the_generator', 'wpbeginner_remove_version');
注:部分教程可能只要求网站顶部隐藏版本号,但是如果你的站点其他输出区域如RSS等存在版本号,一样是可以看到的,所以使用完全隐藏方法比较妥当.
新闻热点
疑难解答
图片精选