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

      2021/02/23   2086文字

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

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

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

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

ブラウザで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設定は大丈夫だったけど、変なリダイレクトがかかってるとか)。


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

  関連記事

【wpプラグイン】コンタクトフォーム7の自動返信設定と、なぜか発生した文字化けの対処
スマホWordPressアプリでログインや、記事更新ができません→xmlrpc無効化してるとできませんが、セキュリティ上必要なこともあります
【WordPress・WP_Query】おすすめ関連記事が、いつも同じものしか出ません→パラメーターorderbyに『rand』でランダム表示
【WordPress/エラー対策】プラグインbizcalendarが改造テーマで表示しない事例
【WordPress4.9.7でのエラー検出】子テーマでindex.phpやCSSヘッダが無いときの『テーマが壊れています』表示への対策
【ログインページが404】ディレクトリやWordPress アドレス変更でログインできない場合は、データベースからログインできるアドレスに直す
WordPress 5.2がサーバーPHP5.6.2以下で動かなくなる事例~更新や閲覧はできる?バージョンアップの注意点は?
フラッシュ形式のオーディオ・動画プレイヤーが表示されません(Adobe Flash Player終了)
WPサイト接頭辞エラーまとめ~configやテーブル名変更・usermeta内の項目で、接頭辞不一致の場合
MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】
【PageSpeed Insightsエラー】リクエストしたページを Lighthouse で正確に読み込めません→WPでメンテにしてました
WordPressをcookie関連設定でログイン不可能にしてみた(cookieブロック・トークン削除・ログイン成功cookie削除)