在wp博客中,有一个常见的安全技巧是:不要在你的wp中显示出你的版本信息。许多开发者或者使用者都常常将wp的版本信息显示了出来,但这样可能会被一些人利用该版本的漏洞对你的博客进行攻击。很多人对此比较模糊,这样可能就会给你的博客带来安全性的问题。
默认情况下,当wp_head() 函数在header.php文件的head标签中被调用时wordpress就执行了wp_generator(),wp_head()函数所处位置如图:
当wordpress在网页中运行时,wp_generator()函数输出如下内容(可以在页面源代码中查看到):
1 |
<meta name="generator" content="WordPress 2.8.1" /> |
那么如何去除wordpress的版本信息以保证博客的安全呢,方法有三:
1. 最暴力的方法:
直接删除header.php文件中的wp_head()函数(我当前主题就是采用的这种方法);
2. 比较好的方法:
比删除wp_head()函数更好的方法是在function.php文件中添加一个功能函数,通过返回一个空白的字符串给the_generator()函数,这样输出的版本信息将为空,代码如下:
1234 |
function remove_version_info() { return '';}add_filter('the_generator', 'remove_version_info'); |
3. 正确的方法:
只需在function.php文件中添加41个字符的代码,即可实现,它是通过remove_action()函数删除了wp_head()函数中的wp_generator()函数,代码如下:
1 |
remove_action('wp_head', 'wp_generator'); |
题外话:remove_action()函数的功能很多、很强大,以后遇到会再讲解!