WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

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

更新: 2024/02/12 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設定は大丈夫だったけど、変なリダイレクトがかかってるとか)。


【カテゴリ】- サイトエラー対策と復旧
【タグ】-

関連記事