使用 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> |
以上 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
留言评论