web-dev-qa-db-ja.com

プラグインなしでログインURLを変更する

私のWordpressインストールのログインURLを/wp-admin.phpから変更したい

私はそうすることを目指していますし、追加するために.htaccessファイルを変更することを検討しています。

RewriteRule ^login$ http://yourdomain.com/wp-login.php [NC, L]

私が集めたものから、/ wp-adminに行くことはまだ人々がそのリンクを使ってログインすることを可能にするでしょう。ユーザーが/ wp-adminと入力したときに404 not foundページに移動するように、ある種のPHPリダイレクトを実行することを考えていました。

プラグインを使用せずに最高のセキュリティ基準を使用してログインURLを変更する最善の方法は何ですか?

4
Travis Patron

仕事を達成するのに必要なコードがプラグインの中に含まれるべきであるので、これを「プラグインなしで」行うための正当な理由や方法はありません。

あなた自身のコードを転がしてはいけません、その仕事のために特別に設計されている試してテストされたプラグインを使用してください。それが安全な方法です。

3
Otto

このコードを使うことができます:

add_action('init','custom_login');

function custom_login(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow && $_GET['action']!="logout") {
  wp_redirect('http://YOURSITE.com/URL');
  exit();
 }
}
0
mcostales84

ログインURLの変更については、私はすでにmyselによって行いました。それは私が私のサイトを保護し、ブルートフォースを防ぐのを助けますあなたはhtaccessでそれを変えることができます。しかし、WordPressの古いログインURLを置き換えるためにフィルタを追加する必要もあります。私のウェブサイトの例:ファイル.htaccess:


RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING}

あなたのテーマやカスタムプラグインで、あなたはwordpressが正しいログインURLを表示することを確認するためにフィルタを追加することができます。


add_filter( 'login_url', 'my_login_page', 10, 2 );
function my_login_page( $login_url, $redirect ) {
    return str_replace("wp-login.php","signin",$login_url);
}

add_action( 'login_form', 'replace_login_submit_form',1); 
function replace_login_submit_form() {
  $your_content = ob_get_contents();
  $your_content = str_replace("wp-login.php","signin",$your_content);  
  ob_get_clean();
  echo $your_content;
}

お役に立てば幸いです。

0
huy

これは既存のwp-login.phpファイルと全く同じような新しいファイルを作成することで可能になります。手順を実行する必要があります。

提案:下記の指示に従う前にwp-admin.phpファイルのバックアップを取ってください。

  • あなたのワードプレスのインストール場所を開く、それがルートであればちょうどwp-login.phpと呼ばれるファイルを探す
  • それでは、新しいphpファイルを作成し、新しいログインURLとして名前を付けます。つまり、www.yoursite.com/wp-adminではなくwww.yoursite.com/iamgauravにログインしたい場合は、新しいファイルを作成します。 iamgaurav.php
  • 今すぐ既存のwp-login.phpファイルのすべてのコードをコピーして、あなたの新しいファイルのiamgaurav.phpに貼り付けてください
  • Wp-loginの既存のすべてのインスタンスをiamgauravに変更します(任意のエディタを介した一括置換オプションで簡単)
  • このファイルを保存して、元のwp-login.phpファイルをrootから削除します。

これで終わりです。キャッシュをクリアし、新しいURLでログインを確認します。www.yoursite.com/iamgaurav

誰かがwww.yoursite.com/wp-adminでログインしようとすると、404エラーが発生します。

それが役に立てば幸い。

ありがとう

0
Gaurav Mishra