WordPress如何正确移除Feed中的WP版本号?

来自:互联网
时间:2018-08-28
阅读:

使用WordPress的博主普遍都还是非常有安全意识,就是移除WordPress的版本号,以免不良用心的人利用旧版本的漏洞对网站攻击。

最近子凡发现WordPress会在前端代码head中加入以下代码:

<meta name="generator" content="WordPress 4.7.3" />

使用方法移除后,但是WordPress的Feed中依然还会存在一条:

<generator>https://wordpress.org/?v=4.7.3</generator>

以上4.7.3便是WordPress的版本号,其实网上有很多方法可以移除WordPress添加的版本号信息,那么今天子凡就需要分享一个几乎完美的解决方法,首先我们先看看几种常见的方式:

方法一:直接删除header.php中的wp_head()

一般按照WordPress规范开发的主题文件header.php中都会使用wp_head()函数,其中本文开头的那段代码便是通过wp_head()函数输出的,并且这个函数会输出一些无用的代码,所以有些人干脆来个痛快,直接把wp_head()函数删掉了事。

但是只是他们没有想过,很多插件/主题会通过这个函数进行一些操作,删掉这个函数将使这些插件/主题无法工作。当然如果追求极致或者愿意去折腾的朋友,这倒也不失为一个不错的办法。

方法二:remove_action

WordPress拥有非常良好的开发接口,几乎WordPress的所有功能都可以使用类似的方式添加及删除,这也是绝大多数教程所提供的一个解决方法,这里子凡也就随手拈来,在当前主题的functions.php中添加如下代码:

remove_action('wp_head', 'wp_generator');

这样就可以从网站的head中移除本文开头提到的那段含有版本号的代码。

到这里你以为就完了吗?nononono,你以为你真的就把站点的WordPress版本号完全隐藏掉了,打开你们的feed源,如http://站点地址/feed,是不是就看到了类似子凡在本文开始的第二段代码了?

https://wordpress.org/?v=4.7.3

那么对于如何移除WordPress在Feed中的版本号呢?

万年不变的方法,将以下代码添加到当前主题functions.php文件中即可:

// 同时删除head和feed中的WP版本号
add_filter('the_generator', 'fanly_remove_wp_version');
function fanly_remove_wp_version() { return '';}

到这里WordPress移除Feed中的WP版本号教程及方法就宣布告一段落,如果你还没有注意到Feed,那么你现在该回头看看了。当然如果你还发现其它地方泄漏WordPress版本号,也欢迎提出我们一起研究的哈。

返回顶部
顶部