こんにちは、mickです。
WordPressのバージョンを隠したい
WordPressのセキュリティレベルを上げたい
こんな方向けの記事です。
WordPressのバージョンを隠す4つの方法
WordPressで作ったWebサイトのソースコードをみてみると、WordPressのバージョンがわかることがあります。
<meta name="generator" content="WordPress 5.5.3" />
これをセキュリティ対策として隠します。
WordPressのバージョンを隠す方法は4つ。
- セキュリティ対策したテーマを使う
- functions.phpを編集する
- プラグイン Acunetix WP Security を使う
- wp-includes/default-filters.php
私がオススメする順番に紹介していきます。
セキュリティ対策したテーマを使う
セキュリティ対策をしているテーマを使えば面倒な操作は一切不要。
例えば、WordPress無料テーマの代名詞ともいえる Cocoon を使えばOK。
Cocoon はWordPressのバージョンのバージョンを出力しないようになってました。
functions.phpを編集する
functions.phpを編集する方法もあります。
いま使っているWordPressのテーマがWordPressのバージョンを出力するなら有効な手段。
次の1行をfunctions.phpに追記するだけ。
remove_action('wp_head','wp_generator');
このとき、プラグイン Code Snippets を使っていればば完璧。
プログラミングに不安な人も安全にfunctions.phpを操作できます。
プラグイン Acunetix WP Security を使う
セキュリティ対策のプラグイン Acunetix WP Security を使う方法もあります。
(推奨しない方法です。執筆時点でプラグインは6年前からバージョンアップしてません。)
プラグインをインストール・有効化。
「Acunetix WP Security」>「Settings」
ここにある設定項目にチェックをいれて保存すればOK。簡単。
「Hide WordPress version for all users but administrators」
wp-includes/default-filters.phpを編集する
手段としてある、ということで紹介。
wp-includesフォルダの下にあるdefault-filters.phpの次の1行をコメントアウトするか、削除するだけ。
add_action('wp_head', 'wp_generator');
通常、wp-includes/の下は触らないのでまずdefault-filters.phpを編集することはないです。
そもそも対策が必要か→やらないよりはマシ
Webサイトの情報を隠すことは大切です。
理由は、Webサイトの攻撃者が事前に行う情報収集の妨げをできるから。
それに、もし自分がWebサイトの攻撃者なら、WordPressのバージョンは知りたいです。
WordPressのバージョンによって、セキュリティ対策に穴があるケースが多いから。
それでも、どこまで有効かという検証は難しいのでこうしてます。
やらないよりはマシ
CSSやJSに記載されるWPバージョンを隠す
実はWordPressの情報はmeta要素以外にも書かれてます。
<link rel='stylesheet' href='http://Webサイト名/wp-content/themes/テーマ名/style.css?ver=5.5.3' media='all' />
これを消すにはfunctions.phpに次のコードを追加すればOK。
function remove_src_wp_ver( $dep ) {
$dep->default_version = '';
}
add_action( 'wp_default_scripts', 'remove_src_wp_ver' );
add_action( 'wp_default_styles', 'remove_src_wp_ver' );
⇒ 参考:「【コピペでOK】WordPressのバージョンを隠す方法 」
WordPress以外のバージョンに関する情報を消す方法
WordPress以外のJavaScriptなどバージョンに関する情報も消しておくとより完璧。
そのためには、次のコードをfunctions.phpに追加すればOK。
function remove_cssjs_ver2( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver2', 9999 );
add_filter( 'script_loader_src', 'remove_cssjs_ver2', 9999 );
⇒ 参考:「WordPressのバージョン情報を消す方法(セキュリティ対策)」
まとめ。
WordPressのセキュリティ対策のひとつとして、WordPressのバージョン情報を隠す方法を紹介しました。
やらないよりはいいので、対策がまだの方はぜひ。
記事を読んでくれて嬉しいです。
今日もありがとうございました。
初稿 2021/01/02