wordpressでのスマホ対応webサイト制作・wpプラグイン・PHPプログラム・SNS活用・ 動画・bgmやテーマ曲アレンジまで考えるコラム!

WordPressをcookie関連設定でログイン不可能にしてみた(cookieブロック・トークン削除・ログイン成功cookie削除)

      2020/09/13

こんにちは、管理人@SS_mshpです。

今回は、WordPressでよくあるトラブル『ログインできない』についてです。

cookie関連の設定・操作でわざと『ログイン不可能みたいな状態』を作ります(cookieブロック・トークン削除・ログイン成功cookie削除)。さっそく、それぞれの場合の挙動を確認してみましょう。ログイントラブル時の役にたつかもしれません。

ブラウザで、cookieブロックしてみる(ログイン不可能になる)

WordPressではたまに、『正しいパスワードを入れてもログインできない』というような状態が発生しますが、その原因の一つになるのが『cookie』です。公式のwordpress.orgでも『認証にcookie使っているから(uses cookies for authentication)、ブラウザでcookie利用可にしないとダメ(you must have cookies enabled)』とアナウンスされています。

■参考リンク:Cookies(wordpress.org)
https://wordpress.org/support/article/cookies/#enable-cookies-in-your-browser

そういうわけなので・・・

ブラウザでcookieブロックした状態だと、『正しいユーザーid&パスワード』を入れてもログインが不可能になります。
(管理人のブラウザはvivaldiです。利用ブラウザによって設定画面は異なります。)

解除方法は、cookie受け入れをonにすればokです。

無事に管理画面にはいることができました。ブラウザには『このときのログインについての情報を持ったcookie』が保存されました。

session_tokenを書き換える(コアがきちんと動いていれば特に問題ない)

WordPress日本語Codexには書いていなかったんですけど(マニアックな話題です)データベースのwp_usermetaテーブル内に『session_token』という項目がありました。『a:1{s:64:"(たぶん識別子)"~}』みたいな形で、ログイン情報などが格納されています(ipやブラウザ・UNIXタイムスタンプでのログイン時間・有効期限など)。

データベース上でみてみると、変な文字列が入っていますが(配列)・・・

認証につかっているのかテストするため、

たとえば『u-n-ko』みたいにデータ形式上あり得ない&クソどうでもいい値に、データベース上から書き換えてみます。

ただし、これは影響なしです。

ログイン成功し、その時の情報にsession_token内の値が書き換わりました。データベースやコアがきちんと動いていると、ログイン成功情報に書き換えてくれます。(調べたところ、不具合でここの値書き換えがうまくいかないと、ログインエラーになることもあるようです。)

そして・・・

ブラウザに保存されたcookieにも、このときのログインに関する情報が入りました。

正しくログインできたときのcookie削除(cookieをonでもログイン不可能になる)

つぎの実験は、上記の実験で出てきた『正しくログインできたときのcookie』を、『あえて削除してみる』です。

ブラウザではcookie設定(セッションのみok・ふつうはこれでログインできる)していたにも関わらず、エラーでログインができなくなりました。

エラーで入れなかったので・・・

データベース上では『session_token』の項目がなくなってしまいました(ログインエラーでは、ログイン情報を格納しようもない)。

この状態の解除方法は、『ページ再読み込み』で対応しました。

『session_token』の項目も復活して、このときのログイン情報が書き込まれました。

あとがき・まとめ

  • WordPressは仕様上cookie利用が必須で、cookieブロックするとログイン不可能になる
  • session_tokenをありえない値に書き換えても、データベースやコアがきちんと動いていれば、ログインができて正しい値に書き換えてくれる。 
  • ブラウザでcookie設定をオンにしていても、正しくログインできたときのcookie削除でログイン不可能になる

まとめるとこのような形でしょうか。cookieの状態でもログインエラーにかかわってくることが確認できました。WPでログインエラーが出るとかなり困るんですけど、原因のパターンのうちの一例ということで押さえておいていただくと、対処がしやすくなります(例えば、cookie設定は大丈夫だったけど、変なリダイレクトがかかってるとか)。

◆この記事で問い合わせ

*アトリエSS・web制作サービスページに移動します。webリニューアル・ロゴ・記事・wordpress化などでお力添えできます。
『サイトを既にお持ちで、リニューアル』の場合は、¥10万以下でご対応します(月額管理費/24回支払い縛りなどの強制無し)。

【カテゴリ】 - サイトエラー対策と復旧(wp/php/css)
【タグ】 -

  関連記事

WPサイト接頭辞エラーまとめ~configやテーブル名変更・usermeta内の項目で、接頭辞不一致の場合

今回は、管理人がお仕事でWPサイトお引っ越しをしたときに遭遇した ...

MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】

今回のお題は、WordPressエラー復旧などに使えるかもしれな ...

【ログインページが404】ディレクトリやWordPress アドレス変更でログインできない場合は、データベースからログインできるアドレスに直す

今回は、WordPress を使っていて怖いエラーの1つ『ログイ ...

WordPressサイトヘルスを『改善が必要→良好』にしたいけど、どうすれば良い?(プラグイン・テーマ・WP/PHPバージョンアップデート)

今回は、WordPressがサイトのセキュリティや稼働状態を勝手 ...

WordPress 5.2がサーバーPHP5.6.2以下で動かなくなる事例~更新や閲覧はできる?バージョンアップの注意点は?

今回は、WordPressの最近の新しいバージョンで、PHPバー ...

【WordPress/エラー対策】プラグインbizcalendarが改造テーマで表示しない事例

今回は、最近このサイトでAPIカレンダープラグインの話題のアクセ ...

【WordPress4.9.7でのエラー検出】子テーマでindex.phpやCSSヘッダが無いときの『テーマが壊れています』表示への対策

今回は、2018年7月6日に出た、WordPressの新バージョ ...