ユーザー名またはパスワードなしでWordPress管理者へのアクセスを回復する方法

公開: 2018-10-02

WordPressサイトにログインできないのは悪夢です。 正しいパスワードを持っていることを確認し、パスワードをリセットしようとしましたが、何も機能しません。 あなたはあなたのサイトから締め出されています。 ありがたいことに、FTPを介していくつかのデータベースレコードまたはいくつかのファイルを変更することにより、アクセスを回復するための高速な方法があります。 基盤となるサーバーリソースにある程度アクセスできる限り、すぐにWP管理者に戻ります。

このガイドは、次の状況で役立ちます。

  • パスワードのリセットオプションが機能しない
  • パスワードのリセットは機能しますが、(何らかの理由で)メールが届きません
  • ユーザー名とパスワードは知っていますが、機能しません
  • アカウントの特権を台無しにしました
  • ユーザーまたはusermetaデータベーステーブルが破損しているか、acccidentlayが変更/削除されています
  • プラグイン/テーマがログイン関連の何かを台無しにしました

このガイドのメソッドが機能するには、次のいずれかが必要です。

  • サーバーへのFTPアクセス、または
  • サーバーへのcPanelアクセス、または
  • MySQLデータベースへのアクセス

ヘルプ! ログインできません!

ログインできない理由はいくつもあります。間違ったユーザー名またはパスワードが最も簡単な説明ですが、その前提に頼ることはお勧めしません。 特に、WordPressをいじって、その結果としてログインが機能しないことがわかっている場合はなおさらです。 問題を修正するための最初のステップ–テーマとすべてのプラグインを無効にします。 そのため、管理者アクセスは必要なく、アクションによって何も「破壊」されることはありません。 完全にリバーシブルです。

これは、FTP、MySQLを使用するか、WPリセットプラグインに付属の緊急復旧スクリプトを使用するなど、いくつかの方法で実行できます。 そして最後のものが最も簡単な解決策なので、最初にそれをカバーします。

WPリセットは、リセット、デバッグ、およびテストタスクを簡単にすることを目的としたすばらしいツールです。 複数のリセットオプション、そしてもちろん、緊急復旧スクリプトを含む多くの機能が付属しています。

WPリセットプラグイン

緊急復旧スクリプトを使用すると、WordPress管理ダッシュボードにアクセスせずに、プラグイン(1つずつまたは一括)とテーマを非アクティブ化できます。

ERSプラグインセクション

それだけでなく、新しい管理者アカウントを作成し、WordPressとサイトのURLを更新し、ユーザーの権限と役割をリセットし、すべてWordPress管理者の外部からコアファイルを再スキャンまたは再インストールする必要があります。 本当に印象的です!

さて、他の方法に移りましょう。

FTPアクセスがある場合は、/ wp-content /plugins/および/wp-content/themes/フォルダーの名前を変更します。 新しい名前なら何でも構いません。 名前の前に「x」を追加するだけです。

MySQLアクセスがある場合は、オプションテーブルを開き(テーブルにはプレフィックス、つまりwp_optionsがあります)、option_name列がactive_pluginsおよびcurrent_themeに設定されている行を見つけます。 2つの行を削除するか、option_nameの値を変更して、後で簡単に元に戻せるようにします。 WPは、デフォルトの場所で使用できる場合、デフォルトのテーマ(v5より前のバージョンの場合はTwenty Seventeen)にフォールバックします。

wp-login.phpに戻り、ページを更新してログインしてみてください。それでも機能しませんか? 読む。

最も簡単なアプローチを理解するために少し時間を取ってください

WordPressやアカウントをまったくいじらず、問題が間違ったユーザー名またはパスワードにあると確信している場合は、MySQLルートを使用してください。 データベース内のパスワードを変更するだけで、アクセスを回復できます。

アカウントをまったく持っていない場合、またはアカウントを台無しにしたと考える理由がある場合は、新しいアカウントを作成する必要があるため、FTPアプローチの方が適しています。 FTPまたはMySQLアクセスの両方で肯定的な結果が得られるため、使用できるのが1つしかない場合でも心配する必要はありません。

サイトのWP-CLIにアクセスできる場合は、ファイルやデータベースをいじる必要はありません。 wp userコマンドは、アカウントを修正したり、新しいアカウントを作成したりするのに十分なツールを提供します。

ユーザー名またはパスワードなしでログイン–MySQLの方法

WPアカウントが機能するには、いくつかのことが適切に調整されている必要があります。 WPは、usersテーブルでユーザー名とハッシュ化されたパスワードを検索し、1つの行が見つかった場合は、usermetaテーブルで追加の行を検索し続けます。 アカウントの権限を把握する必要があります。 上記のいずれかが失敗した場合、ログインできなくなるか、ログインできますが、適切な権限がありません。 WordPressのフィルターとアクションにより、プラグインとテーマがいくつあってもこのプロセスが変更され、デバッグがはるかに困難になる可能性があります。 そのため、私はすでにそれらすべてを無効にするようにアドバイスしました。

ドロップインを介してカスタマイズされたWPDBクラスを実行する可能性についても説明します。 その中のバグも原因である可能性があります。 ドロップインを実行していないことを確認するには、/ wp-content /mu-plugins/フォルダーの名前を変更します。 そのフォルダが見つからない場合–すばらしい! これは、アクティブなドロップインがないことを意味します。

phpMyAdminは、WPのデータベースのいくつかの行を変更または追加するための適切なツールです。 プレインストールされているため、ほとんどの人はcPanelを介してアクセスし、クレデンシャルを再度入力する必要はありません。 念のため、cPanelはhttps://yoursite.com:2083で入手できます。 それが利用できないが、データベースのユーザー名、パスワード、およびリモートホストからデータベースに接続する機能がある場合は、無料のHeidiSQLアプリをインストールし、それらの詳細を使用して接続することをお勧めします。 wp-config.phpに保存されているユーザー名とパスワードは、WPが機能する場合は確かに機能しますが、セキュリティ上の制限により、リモートホストからMySQLに接続するために使用されることはめったにありません。 設定方法はサーバーによって異なり、一般的なアドバイスはできません。

#WordPressサイトにログインできませんか? ユーザー名とパスワードが機能しないだけですか? ユーザー名とパスワードなしでアクセスを回復する簡単な方法を次に示します。

クリックしてツイート

いくつかのデータベース行を変更する

ユーザーテーブルでアカウントを見つけます。 繰り返しますが、テーブルには常にプレフィックスが付いています。 デフォルトではwp_usersですが、何でもかまいません。 すなわち:site765_users。 パスワードだけが間違っていると仮定して、user_pass列を編集し、新しいハッシュパスワードを入力します(MD5のみを使用)。 パスワード「123456」のハッシュはe10adc3949ba59abbe56e057f20f883eが、より適切なパスワードを使用してハッシュを生成することを強くお勧めします。 行を保存してログインしてみてください。 運が悪い? 特権を確認しましょう。

アカウントIDを書き留めます–ユーザーテーブルのid列の下に表示されます。 次に、user_id列(キー)のid値を持つusermetaテーブルのすべての行を検索します。 10以上の行が見つかると予想できますが、必要なのは、meta_key列にwpc_capabilitiesとwpc_user_levelの値がある行です。 最初のものをa:1:{s:13:"administrator";b:1;}に設定し、2番目のものを10に設定します。 保存して、ログインしてみてください。それでも運が悪いですか? その場合は、FTP経由で簡単に実行できる新しい管理者アカウントを作成することをお勧めします。

FTPを使用できない場合は、新しいアカウントを作成する必要があるアカウントのデータを模倣してください。 一意のユーザー名とメールアドレスがあり、上記のusermetaテーブルに2つのレコードを作成していることを確認してください。 データベースに直接アカウントを作成するのに必要なのはこれだけです。

ユーザー名またはパスワードなしでログイン–FTP方式

このメソッドの最初の重要なステップは、アクティブなテーマのfunctions.phpファイルを見つけることです。 / wp-content / themes /フォルダーの名前を変更した場合は、名前を元に戻し、TwentySeventeenテーマだけを残します。 他のテーマでも同様ですが、バグを引き起こす可能性のあるカスタムログイン機能がないことを確認してください。

functions.php .phpファイルを見つけたら、正しいものがあることを確認するためにテストします。 これを信じてください–間違ったファイルを編集するのに何時間も費やしていません。 die('It works!'); ファイルの最初のPHP行として。 サイトを保存して更新します。 何も変わらない場合は、ファイルが間違っています。 変更を元に戻し、適切なものを見つけます。 取得したら、このコードをファイルの先頭に追加します。

// modify these two lines
$user_email = '[email protected]';
$user_password = '123456';

if ( !username_exists( $user_email ) ) {
  $user_id = wp_create_user( $user_email, $user_password, $user_email );

  wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );

  $user = new WP_User( $user_id );
  $user->set_role( 'administrator' );
  wp_die( 'Success!' );
} else {
  wp_die( 'Username already exists.' );
}

コードの最初の2行を変更し、ファイルを保存してサイトをリロードします。 "成功!" 画面にが表示されたら、新しいユーザー名とパスワードでログインに進むことができます。 コードの最初の2行で設定したもの。 完了したら、 functions.phpからコードを削除することを忘れないでください。

WordPressへのアクセスを取り戻す他の方法

FTP、MySQL、またはcPanelにアクセスできる場合は、上記の方法でログインできます。そうでない場合は、必ず下にコメントを残してください。 何があなたのログインを妨げているのか知りたいです。

一部の人々に問題を引き起こす一般的な「小さなこと」は、正しいURLでwp-login.phpを開かないことです。 サイトアドレスとして設定されていない場合は「www」を使用するか、またはその逆を使用します。 または、適切なプロトコルを使用していない–HTTPの代わりにHTTPSを使用します。その逆も同様です。 ページが読み込まれる可能性がありますが、それは正しいURLを使用していることを意味するわけではないので、再確認してください。

あなたが誰かにハッキングする方法を学ぶためにここに来たのなら、WordPressは申し訳ありませんが、そのような記事ではありません。 FTPまたはMySQLにアクセスできることにより、あなたは正当な所有者であり、説明されている方法を悪意のある目的で使用することはないと思います。