一般看下就应该明白是什么意思的。这样可以保证html头部不再有其它的代码了。去掉了wordpress的generator标签

wordpress在默认情况下,头部会出现很多平时用不到的html代码,比如:

<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - all posts" href="http://blog.jb51.net/feed" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - all comments" href="http://blog.jb51.net/comments/feed" />
<link rel="pingback" href="http://blog.jb51.net/xmlrpc.php" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://blog.jb51.net/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://blog.jb51.net/wp-includes/wlwmanifest.xml" />
<link rel='index' title='SBM Stone Crusher Machine|Grinding Mill' href='http://blog.jb51.net' />
<meta name="generator" content="WordPress 3.4" />

上面的标签中,比如generator,将会暴露你的博客程序用的是哪个版本,这个信息泄漏有时会对博客的安全产生一定的影响。同时,也并不需要用这么些标签。

去掉一些不用的标签,网上有方法说主题目录下的 functions.php里增加以下代码:

function wpbeginner_remove_version() {
return &rdquo;;
}
add_filter('the_generator', 'wpbeginner_remove_version');//wordpress的版本号
remove_action('wp_head', 'feed_links', 2);// 包含文章和评论的feed。
remove_action('wp_head', 'index_rel_link');//当前文章的索引。
remove_action('wp_head', 'wlwmanifest_link'); // 外部编辑器如windows live writer必须。
remove_action('wp_head', 'feed_links_extra', 3);// 额外的feed,例如category, tag页。
remove_action('wp_head', 'start_post_rel_link', 10, 0);// 开始篇
remove_action('wp_head', 'parent_post_rel_link', 10, 0);// 父篇
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0); // 上、下篇.

测试了下,可以去掉wordpress的generator,有些代码还是去不掉,但还有另个一个更直接的方法。 就是在wodpress目录下修改wp-includes目录下的default-filters.php,大概在180多行: 

//add_action( 'wp_head', 'feed_links', 2 );
//add_action( 'wp_head', 'feed_links_extra', 3 );
//add_action( 'wp_head', 'rsd_link' );
//add_action( 'wp_head', 'wlwmanifest_link' );
//add_action( 'wp_head', 'index_rel_link' );
//add_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
//add_action( 'wp_head', 'start_post_rel_link', 10, 0 );
//add_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
add_action( 'wp_head', 'locale_stylesheet' );
add_action( 'publish_future_post', 'check_and_publish_future_post', 10, 1 );
add_action( 'wp_head', 'noindex', 1 );
add_action( 'wp_head', 'wp_print_styles', 8 );
add_action( 'wp_head', 'wp_print_head_scripts', 9 );
//add_action( 'wp_head', 'wp_generator' );
//add_action( 'wp_head', 'rel_canonical' );
add_action( 'wp_footer', 'wp_print_footer_scripts' );
//add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );


不需要的直接//注释掉就行了。一般看下就应该明白是什么意思的。这样可以保证html头部不再有其它的代码了。去掉了wordpress的generator标签。

vim  ./wp-includes/general-template.php

Lines 1756-1769,代码如下:

/**
 * Display the link to the Really Simple Discovery service endpoint.
 *
 * @link http://archipelago.phrasewise.com/rsd
 * @since 2.0.0
 */
function rsd_link() {
 echo '<link rel="EditURI" type="application/rsd+xml" title="RSD" href="' . get_bloginfo('wpurl') . "/xmlrpc.php?rsd\" />\n";
}

/**
 * Display the link to the Windows Live Writer manifest file.
 *
 * @link http://msdn.microsoft.com/en-us/library/bb463265.aspx
 * @since 2.3.1
 */
function wlwmanifest_link() {
 echo '<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="'
  . get_bloginfo('wpurl') . '/wp-includes/wlwmanifest.xml" /> ' . "\n";
}

在文件 vim ./wp-includes/default-filters.php 中,注释掉如下图所示:

wordpress_header_opimize

详细解释:

function wlwmanifest_link() {
	echo ' <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="'
		. get_bloginfo('wpurl') . '/wp-includes/wlwmanifest.xml" /> ';
}

You can delete them, also the lines above it:

function rsd_link() {
	echo '	<link rel="EditURI" type="application/rsd+xml" title="RSD" href="' . get_bloginfo('wpurl') . "/xmlrpc.php?rsd\" />\n";
}

As they don't seem to have any use either.

 

参考推荐:

12个经典的WordPress安全技巧

php xmlrpc的简单实用

"wlwmanifest.xml" what is it???