WordPressで強制的にFTP経由で管理者権限のログインユーザー情報を追加する方法

HanamiWEBオンラインスクールでは

●バーチャル自習室でのリアルタイム質問!

●チャットで質問し放題!

●24時間学び放題のEラーニング教材!

全部ついて 2,500円/月!

WordPressを更新したら、突然登録しているパスワードで入れなくなってしまう不具合が発生しました。
また、管理者メールアドレスもわからなくなってしまい、パスワードリセットが行えないというハプニングが発生

サーバーのファイルマネージャーを経由して、強制的にユーザー情報を追加してログインに成功したので、やり方を記録しておきます。

また、こんなに簡単にユーザー情報が追加できてしまうので、ちょっと怖いなと思いました。

FTP経由でWordPressユーザー情報を追加する全体の流れ

  1. ファイルマネージャーにアクセス
  2. テーマファイル内のheader.phpを探す
  3. ユーザー情報追加コードを追加
  4. ログインが出来たら、パスワードを再設定
  5. header.phpの記述を元に戻す

こんな流れになっています。
ファイルマネージャーを介して、WordPressのユーザーログイン情報を強制的に生成します!
それでは、xserverを事例に順番に詳しく解説をしていきますね。

ファイルマネージャーにアクセス

まずは、ファイル経由でwordpressユーザーを強制的に追加する手順の第一歩です。
サーバーにログインをすると、「ファイルマネージャー」という項目がありますので、クリックをしてファイル情報にアクセスをします。
FTP操作が出来る方は、FTP経由で構いません!

テーマファイルへ移動

対象のドメインのWordPressが入っている階層へ移動します。
その中の、【wp-content】フォルダに入ってください

テーマファイルのheadre.phpに追記することで、wordpressユーザー情報を強制的に追加する事が出来ます。

【themes】というフォルダ内にインストール済テーマファイルが入っていますので、この中に入っていきます。

 有効化しているテーマのフォルダに入ります

この中に、【header.php】ファイルが入っています

header.phpファイルを選択して、【ダウンロード】をクリックしてください。
パソコンにダウンロードをして、修正する前のバックアップファイルを保存しておきます。

ユーザー情報追加コードをheader.phpに挿入

 それでは、いよいよwordpressのユーザー情報を追加していく作業に入ります。

ダウンロードが出来たら、次は【編集】をクリックして、編集画面を開きます。

一番最上部に
<?php
?>
という項目がありますので、この中に追記します。
ない場合は、自分で追加をしてください。

追加するコードは以下です。

$user_login : 任意のログインIDを設定
$user_pass : 任意のログインパスワードを設定
$user_email : 任意のメールアドレスを設定(架空でも構いません)
$role : ユーザー権限を設定します。必ず管理者である 'administrator' を設定してください。

それ以下のコードは、おまじないのようなものなので、そのまま使ってください。

    // ログインユーザー情報設定
    $user_login = 'admin'; // ログインID
    $user_pass = 'pass'; // ログインパスワード
    $user_email = 'test@test.com'; // メールアドレス
    $role = 'administrator'; // 管理者権限

    // ユーザーの登録
    if (!username_exists($user_login)) {
        $data = array(
            'user_login' => $user_login,
            'user_pass' => $user_pass,
            'user_email' => $user_email,
            'role' => $role
        );
        wp_insert_user($data);
    }

<?php ?>こちらの記述がなかった方は、最上部に以下のコードを追加してください。

  <?php
    // ログインユーザー情報設定
    $user_login = 'admin'; // ログインID
    $user_pass = 'pass'; // ログインパスワード
    $user_email = 'test@test.com'; // メールアドレス
    $role = 'administrator'; // 管理者権限

    // ユーザー登録
    if (!username_exists($user_login)) {
        $data = array(
            'user_login' => $user_login,
            'user_pass' => $user_pass,
            'user_email' => $user_email,
            'role' => $role
        );
        wp_insert_user($data);
    }
?>

実際に追記したスクリーンショットはこちらです!

ログインをしてみる

wordpressテーマファイル内のheader.phpにユーザー情報追加コードが追加出来たら、作成したユーザー情報でログインをしてください。
ログインが出来たら、ユーザー情報一覧へ移動をして、パスワードを再設定します。

パスワードを変更

新しく作ったwordpressユーザーではなく、元々あったwordpressユーザーの編集画面を開き、パスワードを再設定します。
パスワードを再設定した後は、ログアウトして、元々のwordpressユーザーでログインが出来るか確かめて下さい。

ログインが出来たら、追加したwordpressユーザー情報はすぐに削除します。
ログインしているwordpressユーザーで自分の事は削除できないので、必ず元のwordpressユーザーでログインをした後に、新しく作ったwordpressユーザーの【削除】を行ってください。

header.phpを元に戻す

最後に、wordrpressテーマファイル内のheadre.phpを元に戻します。
①追記した個所を削除
②PCに保存していたheader.phpをアップロードして上書
どちらの方法でも大丈夫です!

まとめ

こんなに簡単にユーザー情報が追加出来るので、ファイルマネージャーにアクセスをされたら、wordpressのログインが誰でも簡単にできてしまうという事ですね。とても恐ろしいです。

今回、子テーマを作成しているwordpressサイトだったので、親テーマからheader.phpをダウンロードしてきて、子テーマの階層にアップロード。
wordrpessユーザー情報追加コードを子テーマ内のheader.phpファイルに追記をして、無事にログインが出来た後は子テーマ内に追加したheader.phpファイルを削除するという対応方法を取りました。

wordpressの
「ログインIDがわからない」
「登録メールアドレスがわからない}
結構問い合わせが多いので、参考にしていただければと思います!

ホームページのリスキリングはお任せください!

2019年よりWordPressやホームページに関するスキルシェアを行ってきました。事例やノウハウが蓄積され、スピーディーかつ的確にお悩みを解決へと導く事を得意としています。ホームページに関するお悩みがございましたら、LINE公式アカウントよりお気軽にご相談ください!

↑クリックするとLINE公式が開きます

新着記事

WordPressで強制的にFTP経由で管理者権限のログインユーザー情報を追加する方法
Stripeでpaypay決済が利用可能に!
Stripeでクレジット分割払いが利用可能に!
Stripeから「3D セキュア必須化に向けた対応が必要です」WordPressでの対応方法は?
WP Rocket - WordPress Caching Plugin
ja日本語