WordPress – ログインフォーム画面(管理画面)のURLを隠蔽してセキュリティ対策


WordPressで管理画面にアクセスする時のURLは標準で、
http://www.example.com/wp-admin

http://www.example.com/wp-login.php
と決まっています。

これだと、Wordpressで作成されたWEBサイトだとログインフォームの画面のURLが容易に察しがついてしまいますので、悪意のあるプログラムによって総当り的に「ユーザー名」や「パスワード」を試行される、いわゆるブルートフォースアタック(Brute-force attack)をしかけられて、最悪の場合はサイトが改ざんされてしまう恐れもあります。

セキュリティ対策として、次のような数行のPHPコードをWordpressテーマのfunctions.phpなどに追加することで簡単にこうしたリスクを軽減することができます。


//管理画面の隠ぺい
function redirect_login(){
  $uri = getenv('REQUEST_URI');
  if(!strpos($uri, 'hogehoge')){
    if( !is_user_logged_in() ){
      wp_redirect( home_url( '/' ) );
    }
  }
}
add_action( 'login_form_login', 'redirect_login' );

「hogehoge」の部分は好きな半角英数文字にしてください。
こうしておけば、
http://www.example.com/wp-admin?hogehoge
とか
http://www.example.com/wp-login.php?hogehoge
のようにWordpress標準のログインURLに、指定した文字がURL引数として含まれない場合は、ログイン画面が開かずにトップページにリダイレクトされるようになるので、Wordpress標準のログインURLを隠蔽することが可能です。

タグ: ,
カテゴリー: WordPress

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

カテゴリー