ホームページ制作 2021年8月6日

自前のWordPressテーマ、再チェックを!

ホームページ制作のお話をさせていただく際に、CMS(コンテンツマネジメントシステム)、
中でもWordPressの利用をご提案する場合があります。

まずCMSとは、Webサイトのコンテンツを構成するテキストを始め、画像やレイアウト、動きを一元的に保存・管理しておくシステムのことです。CMSを利用することで、データベースに保存されているデータを編集し、ページが生成、修正が可能となります。これにより、納品先のお客様はHTMLやCSS、JavaScriptといった専門の言語を使うことなく、ブラウザ上で直感的に操作することが可能となるため、担当者が一から勉強しなくても済むメリットがあります。
WordPressには様々なテンプレートが用意されており、無料で使えるものもあります。しかしながら、様々なテンプレートがあるといってもデザイン性には限界があり、Webサイトに独自性を出そうと考える際には自前でテーマを用意する場合も多いのではないでしょうか?
ここで、自前でテーマを用意する場合、セキュリティ上、要チェックなところがあります。今回は、設計の段階で確認しておいた方がいい内容を3つお伝えできればと思います。

 

ユーザIDの漏洩

管理画面にログインする際に必要になるIDとパスワード。両方ともユーザが任意に設定するものですが、サイト制作者、サイト管理者は2つの値について管理が必要となります。
WordPressでテーマを作られているという方、「サイトのURL/?author=1」と入力して確認してみてください。URL入力バーのところにユーザ名が表示されてしまったという場合、管理画面にログインするIDの漏洩につながり、セキュリティリスクとなる場合があります。今一度ご確認を!

ここでは、先の操作をした際に404ページにリダイレクトさせ、ログインIDの漏洩を防止するコードをお知らせします。自作テーマ内のfunctions.phpに記述して動作確認してみましょう。

add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
  if( isset($_GET['author']) || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ):
    wp_redirect( home_url( '/404.php' ) );
    exit;
  endif;
}
add_action('init', 'disable_author_archive');

WordPressのデフォルトアイコン非表示化

サイトを制作する際、ファビコンもセットで作っているよという方には関係ないのですが、もしファビコンを用意せずWordPressで運用している場合、ご利用のサイトがWordPressで作られているか一瞬でわかってしまいます。WordPressは利用者も多く、攻撃者も多いので、そんな人に「このサイトはWordpressでできてるから攻撃して~」とお知らせする必要はありません。ぜひ対策しておきましょう。プラグインを利用して対応することも可能ですが、ここで紹介するコードは大変シンプルですし、新たにプラグインをインストールできない諸事情をお抱えの方もいらっしゃると思います。以下をご対応の上確認してみてください。

function wp_favicon_remover() {
  exit;
}
add_action( 'do_faviconico', 'wp_favicon_remover');

ファビコンが変わらない…そんな方もいたのではないでしょうか。原因はキャッシュです。特にChromeのキャッシュは相当やっかいですのでシークレットモードで確認しても反映されないことが多いです。そこで、ピンポイントに「そこだけ」削除してやりましょう。
Chromeを一度終了し、Faviconsというファイルを削除します。その後Chromeを開きファビコンが反映されているか再チェックしましょう♪

Windows:

C:\Users\ユーザー名\AppData\Local\Google\Chrome\User Data\Default

Mac:

/Users/ユーザー名/Library/Application Support/Google/Chrome/Default/

 

CSS、JSファイルからバージョン情報を除外する

ページのレイアウトや色味、動きなどを指定する際に使われるCSSやJSファイル。
WordPressでサイトを公開していると、HTMLソースの中に自動的にWordPressのバージョン情報が表示されています。だから何?と軽くお考えの方もいるかもしれませんが、例えば古いバージョンのまま運営を続けた場合、ハッキングや攻撃を受ける可能性が高まりますので、必要のない情報は外部に公開しないために、バージョン情報を消す(非表示)方法をメモしておきます。記述後確認してみてください。

function remove_ver_cssjs( $src ) {
  if ( strpos( $src, 'ver=' ) )
    $src = remove_query_arg( 'ver', $src );
    return $src;
  }
add_filter( 'style_loader_src', 'remove_ver_cssjs', 9999 ); //cssに関するもの
add_filter( 'script_loader_src', 'remove_ver_cssjs', 9999 ); //jsに関するもの

 

サイトを運用していくには、セキュリティ対策は切っても切り離せないものです。
今回紹介した3点はほんの一部にすぎませんが、少しでも運用しているメディアを守るため、対策をお忘れなく♪

記事の著者:

Web制作ならアズシエルにご相談ください。

Web制作パートナーとしてサイトの企画からデザイン、運用まで支援します!Webサイト制作についてはこちらからサービスをご確認ください!

この記事をSNSでシェアする!