隐藏你的wordpress版本信息

2010年03月6日 9:42 上午  |  分类:WordPress

<meta name=”generator” content=”WordPress 2.9.*” />

这一句在你博客的源代码中一显示,就给很多黑客提供了方便,你博客的安全性又下降了一个点,如果有的博友按照我在前面的WordPress的三个必须安全措施文章中说过的,把主题文件夹下header.php文件里的<?php bloginfo(’version’); ?>语句删除了,那你可能在源代码中还会看到你的版本信息,wordpress版本信息泄露这一问题早在2.7版本之前就已经被人发现,可该问题在2.9的版本中仍然存在,我也是刚刚重视,疯狂王子劝博友们尽快把自己的版本信息删除,以免后患。

博客的源代码中显示版本信息如<meta name=”generator” content=”WordPress 2.9.*” />,主要是wordpress核心文件 default-filters.php 在加载默认的动作时有这样一句代码:add_action( ‘wp_head’, ‘wp_generator’); ,所以它会向meta中添加了该wordpress的版本信息,要去掉这一版本信息的话,在模板的function.php文件中添加下面代码就可以了(如果没有function.php文件,那就添加在header.php中):

/** 删除header中wp的版本号 */
remove_action(‘wp_head’, ‘wp_generator’);

注意:该段代码必须添加在<?php……?>的里面才可以,如果接在?>后面的话,会使你的博客主页发生变形,并在主页最上方显示你刚刚添加进去的这些内容,中文显示乱码。添加的地方必须正确。另外,复制后一定要看好每一个符号,不能是中文符号,一定要是英文状态下的符号。

另外一个问题就是留言文本中支持html格式,这可是个大问题,如果可恶之人使用<iframe>标签包含一个带有病毒的页面,发送到你的网站,后果就非常严重了。所以,希望各位博友的在模板function.php文件中也加入下面这段代码(有的模板可能已经设置了):

/** 以文本格式显示留言,如以html格式显示留言,则可能存在漏洞 */
add_filter( ‘pre_comment_content’, ‘wp_specialchars’ );

注意,复制后一定要看好每一个符号,不能是中文符号,一定要是英文状态下的符号。

PS:关于版本号的问题,有些博友已经启用了安全插件,那也是可以解决的。