[WordPress]ログインページの表示/非アクセス遮断する

WPS Hide Login  -  WordPress ログインページを非表示に

概要

セキュリティを強化するために、ログインページのパスを変更することができます。 または、 WordPress サイトで一般の人々のログイン機能を無効にさせて、一般のユーザーがwp-login.phpページにアクセスできないようにしたい場合があります。 この記事では、この二つの状況に使用できる方法を説明します。

アップデート: 初期のセキュリティプラグインには、 WordPress ログインページを隠す機能が含まれていましたが、このような「不明であることを通じたセキュリティ(Security through Obscurity、隠遁セキュリティ)」方式は、実質的な保護を提供せず、むしろシステムを不安定にしてテーマが割れることがあるとします。

(ただし、管理者のみログインできるようにwp-adminページにアクセスする方法は、まともなようです。)

ログインページを非表示に

WordPressで、ログインページのアドレスを変更して、ハッキング攻撃などを遮断しようとする場合、プラグインを使用することができます。 いくつかのプラグインがありますが、 WPS非ログインというプラグインが比較的アップデートもよくされて、何よりも軽い(メーカーによると)ようです。

WordPressの管理者ページで プラグイン>プラグインを追加するでWPS Hide Loginを検索してインストールして有効にします。 次に 設定>一般に移動した後の一番下に見ると、ログインページの新しいパスを指定できるフィールドが追加されています。

WPS Hide Login  -  WordPress ログインページを非表示に

基本的には http://www.example.com/loginログインページが設定されています。 必要に応じてパスを変更できます。 今 http://www.example.com/wp-login.phpに接続するとないページ(404エラー)に表示されます。

wp-login.phpにアクセスできないように設定する

一般の人がログインページにアクセスできないようにwp-login.phpページ自体へのアクセスをブロックすることができます。 この場合は、次のようなコードを.htaccessファイルに追加するようにします。

<Files wp-login.php>
Order Deny,Allow
Deny from All
Allow from xxx.xxx.xx.xxx
</Files>

その後、IPがxxx.xxx.xx.xxxのユーザーのみログインページへのアクセスが可能です。 マイコンピュータのグローバルIP確認は https://www.whatismyip.com/で確認が可能です。 上記のコードを.htaccessに追加すると、一般ユーザーがwp-login.phpページにアクセスすると、「403 Permission Denied」というメッセージが表示されます。

wp-login.phpリダイレクトさせる

別の方法としてwp-login.phpファイルにアクセスする訪問者を別のページ(例えば、ホームページ)に移動させる方法を考えてみることができます。

add_action('init','custom_login');

function custom_login(){
global $pagenow;
if( 'wp-login.php' == $pagenow ) {
wp_redirect('http://www.example.com/'); // 리디렉션시키려는 URL로 변경
exit();
}
}

この場合、管理者もwp-login.phpへのアクセスができない問題が発生します。 これを防止するために、管理者のインターネット回線のIPアドレスではない場合(IPアドレスでアクセス制限の設定)のみ、上記の関数が実行されるようにすることができます。 この場合には、次のようなコードを追加すると、なりそうです。

if ($_SERVER['REMOTE_ADDR'] !== 'xxx.xxx.xx.xxx') // 관리자 IP 주소
{
// 코드
}

メモ:

一部の記事にはアフィリエイトリンクが含まれている場合があり、パートナーの活動で一定額の手数料を受け取ることがあります。

17のコメント

  1. 特定のアイピーだけに近づくようにブロックすれば、管理者本人も指定された場所のコンピュータ以外にはカフェで、あるいは旅行中には管理をする方法がないでしょう。 セキュリティは徹底したいのですが、場所にこだわらず管理が容易であれば良い方法があるのか​​気になります。

    1. こんにちは、ジェイ様。 外部から管理者ページに接続しなければならない場合が多い場合は、ipアドレスで管理者ページへの接続をブロックするコードを削除するのが良いと思います。 他の方法でFTPに接続して頻繁に訪れるカフェのIPアドレスを追加で入力したり、あるいは旅行先に行って接続するIPアドレスをFTPに接続して追加することも可能です。

  2. こんにちはワード様! いつもブログの記事をよく見ています。 良い記事を書いてくれてありがとう。 相違ではなく、一つの質問があります。

    「wp-login.phpにアクセスできないように設定する」

    上記の項目でnginxにサーバーが設定されている場合、どのように同じ効果を見ることができるか疑問に思います。 nginxでは、.htaccessファイルを変更しても機能しないようです。

    良い投稿いつもありがとうございます。

  3. よい内容をお知らせいただきありがとうございます。
    ワードクラッカー様のおかげで、いつものログインウィンドウのないミドウムがあったが、解決しました。

    リダイレクトは試してみようとしたが、よく初心者あきらめた。
    それでも、特定のipのみアクセスできるように設定して、心がいっそう楽になりました。 ^^
    本当にありがとうございます。

    1. こんにちは、ヤルリ様。

      ログインページのアドレスを変更して、隠すことは、セキュリティにあまり役に立たないされて、むしろシステムが不安定になることができるということが、最近の見解です。
      ぜひログインページのアドレスを変更したい場合Theme■ Security などのセキュリティプラグインが提供する機能を使用できます。 次の記事の「Hide Backend」部分を参照してください。

      https://www.thewordcracker.com/basic/ithemes-security-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-%EA%B3%A0%EA%B8%89-%EA%B8%B0%EB%8A%A5/

      1. お知らせいただいた方法で

        注文拒否、許可
        すべてから拒否する
        Allow from xxx.xxx.xx.xxx

        ログインウィンドウにアクセスできないようにしました。 テーマの更新はできません。 更新部分は解決する方法があるかどうか疑問に思います。 既存の.htaccessにコードを挿入したのは見えませんでした。 消そうとしたら…解決する方法はありますか?

      2. 上記のコードは、テーマの更新とは何の関係もないでしょう。

        私も似たようなコードを挿入したが、テーマの更新やプラグインの更新に問題がありません。
        おそらく他の問題があることができます。

        .htaccessファイルがないということは固有のアドレスの問題ですね。

        設定>固有のアドレスで「デフォルト」以外のオプション(例:文章)で選択してください。
        WordPressでは、固有アドレスを「デフォルト」に設定すると問題が発生する場合があります。 なるべく「基本」に設定しないでください。

      3. 参考までに、海外ホスティングの一つである SiteGround (SiteGround)は、上記の特定のIPアドレスのみを許可するためのコードを.htaccessファイルに追加すると、奇妙なエラーが発生することがあるので、 SiteGroundは、上記のコードを使用してい飲まください。

  4. 私 SiteGroundを使用中なのに SiteGround cpanelのredirects(301)を利用してwp-login.phpをメインページにリダイレクトさせることも可能でしょうか? プラグインのインストールよりも、この方法が簡単に示しからです。

    1. SiteGround(SiteGround)cPanelのでRedirectsを設定すると、.htaccessファイルにコードが追加されています。

      次のようなコードを.htaccessファイルに追加して必要に応じて動作することをチェックしてみてください。

      RewriteEngine On
      RewriteCond %{REQUEST_URI} ^/wp-login.php$
      RewriteCond %{QUERY_STRING} ^action=register$
      RewriteRule ^(.*)$ http://www.example.com [R=301,L]

      出典: https://stackoverflow.com/questions/25800967/redirect-wp-login-php-and-wp-login-phpaction-register-to-homepage-using-htacce

  5. こんにちは ^^ 気になる部分があり、こうコメントするようになりました。今現在、このウェブページも"https://www.thewordcracker.com" '/wp-admin' や '/wp-login.php' をするとアクセス拒否になりますが、このページにはどのような方法を適用されたのかよろしいですか? ?敏感なセキュリティ問題なので、もし決礼になれば答えてくれなくても大丈夫です。 :)良い情報をありがとう!

    1. こんにちは?

      韓国の場合、サイトがある場合会員登録からしなければならないと考えている場合がありますが、会員制で運営する必要がない場合、あえて会員登録をすることを許可する必要はないと思います。 私も最初は会員登録を許可したが、ブログを改編しながら会員登録を遮断し、ログインも特定のIPのみ可能なように変更しました。

      ログインを特定のIP(複数可)のみを許可するようとのハッキングなどの不正アクセスから効果的に保護することができます。

      方法は、以下の記事の最後の部分を参照してみてください。

      https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%B3%B4%EC%95%88-%EA%B0%95%ED%99%94%ED%95%98%EA%B8%B0/

      1. と。とても感謝します! ここであまりにも多くの情報を得てです

コメントを残す

*電子メール情報は公開されません。