默认情况下,当你使用WordPress
来搭建网站的时候,WordPress
会在你的网站上留下个标记:这就是WordPress
的版本号。在某些时候,这个标记也会成为网站的安全漏洞。
打开你的WordPress
网站,在浏览中的空白地方点击右键,选择查看源代码,通常你会找到有这样一行代码:
1 |
<meta name="generator" content="WordPress 4.4.1" /> |
这是WordPress
自动生成的代码,向外界宣告你所使用的WordPress
版本。如果你的网站一直使用的是最新版WordPress
,那你基本无需担心因为泄露版本号而导致的安全问题。但是,由于某些特殊的原因,如果你使用的是旧版本的软件,那么暴露WordPress
版本号可能会成为你网站的安全漏洞。
因此,在这种情况下,你应该隐藏网站所使用的WordPress
版本号。
在你的网站中,有四个地方容易暴露WordPress
的版本号:
- 网站源码页头部分的
meta
标签里: - 脚本和样式表文件中:
- 网站
RSS feeds
中: - 网站根目录下的
readme.html
文件中。
网络中各种隐藏WordPress
版本号的技巧很多,功能最为完整且简洁的代码,应当是属于下面这段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php /* 在 js 文件和 css 文件中隐藏 WordPress 版本号 * @return {string} $src * @filter script_loader_src * @filter style_loader_src */ function wpchina_remove_wp_version_strings( $src ) { global $wp_version; parse_str(parse_url($src, PHP_URL_QUERY), $query); if ( !empty($query['ver']) && $query['ver'] === $wp_version ) { $src = remove_query_arg('ver', $src); } return $src; } add_filter( 'script_loader_src', 'wpchina_remove_wp_version_strings' ); add_filter( 'style_loader_src', 'wpchina_remove_wp_version_strings' ); /* 在 generator meta 标签中隐藏 WordPress版本号 */ function wpchina_remove_version() { return ''; } add_filter('the_generator', 'wpchina_remove_version'); ?> |
这段代码可以移除前面3个地方中所包含的WP
版本号。记得要把这段代码放在你所用主题(或子主题)的funcitons.php
模板文件中。
修改完成后,如果是使用PHP-FPM
来进行处理的服务器,需要重启PHP-FPM
服务否则代码可能不能及时生效:
1 |
$ sudo service php5-fpm restart |
对于上面第4点提到的,位于WordPress
根目录下的readme.html
文件,你直接删除该文件就可以了。这份文件是关于WordPress
的简单介绍和安装说明,安装好账户就没有什么用途了。
如果使用的是Apache
服务器,也可以简单的在根目录下面建立.htaccess
文件,里面增加如下内容:
1 2 3 4 5 |
# 禁止 readme.html 的访问,这个文件会暴露版本号信息 <Files readme.html> order deny,allow deny from all </Files> |
当然,以上这些做法,隐藏了WordPress
的版本号,并不能真正解决网站中所存在的安全漏洞。确保网站安全的第一要素,还是要及时更新WordPress
核心软件,所使用的主题、插件;使用健壮的用户名和密码;不要使用来历不明的盗版主题和插件等。