扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如何查看当前的WordPress版本
创新互联公司服务项目包括平武网站建设、平武网站制作、平武网页制作以及平武网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,平武网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到平武省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
今天在修改网站的时候,不小心把最新版Wordpress3.5.1的wp-includes目录下的functions.php覆盖进去了,导致 了网站登陆时报错,无法登入。接下来的解决方法就是找到我当前Wordpress版本的原版文件,然后替换进去。可是,怎么得知我的当前的 WordPress版本呢?找到一个极其简单的方法,不仅可以查看自己的, 也可以查看别人的。打开登陆界面,默认为,然后右击查看源代码,你会看到有 这么两条:
复制代码
代码如下:
link rel='stylesheet' id='wp-admin-css' href='' type='text/css' media='all' /
link rel='stylesheet' id='colors-fresh-css' href='' type='text/css' media='all' /
ver=3.4.2即version 3.4.2,即WordPress 3.4.2版本。
方法一(错误):修改WordPress源代码
修改wp-includes/defaults-filter.php,将其中的:
1add_action('wp_head', 'wp_generator');
改成:
1remove_action('wp_head', 'wp_generator');
相信现在已经没人还傻到去修改WordPress源文件来实现某种功能了吧?下次WordPress更新又得重新修改,实在是累!
方法二(错误):直接删除wp_head()
因为本文开头那段泄漏WordPress版本号的代码,一般是主题文件header.php中的wp_head()函数输出的,并且这个函数会输出一些无用的代码,所以有些人干脆来个痛快,直接把wp_head()函数删掉了事。只是他们没有想过,很多插件/主题会通过这个函数进行一些操作,删掉这个函数将使这些插件/主题无法工作。兴许,下次安装个插件,死活用不了还找不到原因呢!
方法三:remove_action
一个好的方法,也是绝大多数教程提供的方法,是在当前主题的functions.php中添加以下代码:
1remove_action('wp_head', 'wp_generator');
这样就可以从网站的head中移除本文开头提到的那段含有版本号的代码。但是,这里我要打击一下各位,最近在露兜博客留言的使用WordPress的站长,几乎没有一个站点能够完全隐藏掉WordPress版本号。打开你们的feed源,如,有没有看到这个:
1generator;/generator
啊啊!3.8不就是WordPress的版本号吗?再随便看看你的一篇文章的网页源代码,是否会看到下面的几段类似代码呢:
script type='text/javascript'src='/wp-includes/js/comment-reply.min.js?ver=3.8'/script
link rel='stylesheet' href='/wp-includes/css/admin-bar.css?ver=3.8'type='text/css' /
link rel='stylesheet'href='//fonts.googleapis点抗 /css?family=Handleever=3.8'type='text/css' /
呵呵,又见3.8,其实WordPress不仅会输出本文开头的那段代码,而且会在feed中输出版本号,另外,为了更新缓存,某些css和js结尾也会附上WordPress版本号(如以上第2-3行代码)。
方法四:正确方法
所以,我们还应该移除feed和js/css中的WordPress版本号,在当前主题的functions.php中添加以下代码:
// 同时删除head和feed中的WP版本号
function ludou_remove_wp_version() {
return '';
}
add_filter('the_generator','ludou_remove_wp_version');
// 隐藏js/css附加的WP版本号
function ludou_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 ) {
// 用WP版本号 + 12.8来替代js/css附加的版本号
// 既隐藏了WordPress版本号,也不会影响缓存
// 建议把下面的 12.8 替换成其他数字,以免被别人猜出
$src = str_replace($wp_version, $wp_version + 12.8, $src);
}
return $src;
}
add_filter( 'script_loader_src','ludou_remove_wp_version_strings' );
add_filter( 'style_loader_src','ludou_remove_wp_version_strings' );
另外,在WordPress后台右下角也会显示WordPress版本号,leiming网友提供了:去除此版本号的代码。不过个人觉得,如果开放了后台,从后台的界面风格也很好判断WordPress的版本,毕竟从我使用WordPress至今,WordPress已经换过4次界面了。
blueionic反馈,WordPress安装目录下的readme.html也会泄漏版本,每次更新后记得删除。
David网友提供了更多可能泄漏版本号的地方:点此查看
为了方便追踪, WordPress底部默认保留了版本号。我们也是根据这些追踪信息才得以知道WordPress是世界最大的博客平台。但是如果你使用的不是最新的WordPress版本,保留这些踪迹在你的站点上有时却有可能给你的网站带来安全漏洞。这些信息对黑客是非常有用的,你告诉了他们你目前正在使用的版本号。 当然我还是建议大家使用最新的WordPress版本,这样就不用担心这个问题了。 但是如果真的由于特殊原因你没有更新到最新版本,那么这篇文章将告诉你如何正确删除这些信息。 有好多种办法可以移除WordPress版本号,但是正确的做法只有一个。 有些网站可能会建议你打开header.php文件并删除下面的代码: meta name="generator" content="WordPress ?php bloginfo('version'); ?" / 还有人说可以打开functions.php文件然后添加下面的函数: remove_action('wp_head', 'wp_generator'); 这两种办法其实都不完整。这些方法仅仅是从头部区域将WordPress版本号移除了,如果普通的用户浏览你的网站时,他们将无法看到版本号。 但是精明的黑客了解WordPress知道只要进入你的RSS Feeds,他们就可以找到版本号,因为上述两种办法都没有删除RSS Feed里头的版本号码。 要完全将WordPress版本号删除,你需要添加下面的代码到functions.php文件中: function wpbeginner_remove_version() {return '';}add_filter('the_generator', 'wpbeginner_remove_version'); 通过上面的代码,你将删除站点上所有不同区域中的WordPress版本号码。这才是正确完整可行的方案。 注意: 我们仍然建议你更新到WordPress最新版本,这是保证你博客安全的唯一方法。* 版权声明:作者WordPress啦! 转载请注明出处。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流