はじめに
WordPressでホームページや作成すると、HTMLソース内にメタ情報としてWordPressのバージョンが記載されています。
例えば、WordPress 5.5を使用している場合は、次の通りです。
<meta name="generator" content="WordPress 5.5"/>
<link rel='stylesheet' id='dashicons-css' href='https://example.com/wp-includes/css/dashicons.min.css?ver=5.5' type='text/css' media='all' />
攻撃者はWordPressに対して不正アクセスを試みる際に、ターゲットの情報収集から始めます。もし、脆弱性があるWordPressのバージョンを使用していることがわかれば、そこを狙った攻撃を行います。
逆に言えば、WordPressのバージョン情報を非表示にして、攻撃者に有用な情報を与えないことは、有効なセキュリティ対策の1つとなります。
この記事では、簡単なカスタマイズにより、HTMLソース内に出力されるWordPressのバージョンを非表示にする方法を紹介します。
WordPressのバージョンを非表示にする方法
WordPressのfunction.phpに以下のコードを設置してください。
管理画面から、外観→テーマエディター→テーマファイルで編集できます。
remove_action('wp_head','wp_generator');
function remove_wp_version( $src ) {
if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_wp_version', 9999 );
add_filter( 'script_loader_src', 'remove_wp_version', 9999 );
上記コードは、head内のメタ情報を非表示にすると共に、CSSやJavaScriptにパラメータとして含まれるバージョン情報も非表示にしています。
WordPressのテーマによっては最初からバージョンを非表示に削除してくれるものもありますが、きちんと確認して、セキュリティ対策をしておきましょう。