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

张子凡 WordPress优化 2017-03-10 11:02:27 阅读(...) 评论(3)

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

WordPress

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

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

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

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

WordPress Feed 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 中添加如下代码:

1
remove_action('wp_head', 'wp_generator');

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

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

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

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

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

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

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

更多关于WordPress优化及疑问可以添加QQ群:255308000

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/wordpress-remove-wp-version.html

留言评论

登录 后留言