0

私はこの問題を一人で乗り越えることができないのではないかと心配しています。この問題が私のインストールに固有のように見えるのは奇妙です。

私の WordPress ベースの Web サイトでは、ユーザーがログインに問題を抱えています。特に、認証に携帯電話を使用している場合です。ユーザーは ([記憶する] をオンにしても) ログアウトされ、資格情報を再入力する必要があります (その後、認証情報を再入力する必要があります)。再びログアウトしている)。私の推測では、それぞれのモバイル インターネット サービス プロバイダーが新しい IP アドレスをデバイスに常に動的に割り当てているため、認証が失敗している可能性が最も高いと思われます。

デスクトップを使用してログインしている場合、すべて正常に動作します。ただし、Google Chrome でサイトに正常にログインし、同時にログインするために Mozilla Firefox (またはその他のブラウザー) のインスタンスを開くと、Chrome のユーザー「セッション」はすぐにシャットダウンされます (私はそれを知っているため)。非同期スクリプトは、ユーザーがログインしているかどうかを要求しており、他のブラウザーを使用してサインインすると、ログインするように求められます)。したがって、WordPress の認証全体も、ユーザー エージェントと関係があると思います。

別の IP またはブラウザーからサイトにアクセスするときに、実行中のセッションを自動的に無効にすることによって提供される追加のセキュリティを高く評価していますが、私のユーザーはそうではありません. 私自身でさえ、3 台の異なるマシンとタブレットと電話を使用して、可能な場所からサイトにアクセスするのは非常に面倒です (最終的には、わざわざログインするのをやめて、家に帰るのを待つだけでした)。

WordPress の認証には Cookie を使用するため、これらがどのように生成されるかを調べました。このwp_generate_auth_cookie()メソッドは、ユーザー名、ハッシュ化されたパスワードの一部、有効期限、およびソルト (で定義されている一定のソルトwp-config.php) を使用しますが、IP アドレスもユーザー エージェントも使用しません。WordPress フォルダー全体を文字通り検索して「ユーザー エージェント」または「IP アドレス」の出現を探しましたが、その用語を含むログイン関連のスクリプトはありません (ユーザー セッションにまったく影響を与えない少数のプラグインにすぎません)。

それは私を困惑させます。WordPress は、認証 Cookie を使用してそのデータを保存しない場合、別のブラウザー/コンピューターでログインしていることをどのように認識しますか? そして、私と私のユーザーをログアウトさせるチェックはどこで行われますか?

問題をトラブルシューティングする方法について、さらにアイデアはありますか?

事前にどうもありがとうございました!!

ハルティ

4

1 に答える 1

2

Cookie はブラウザーによって保存され、同じマシン上の異なるブラウザーはそのストレージを共有しません。したがって、Chrome でログインすると、WP はログイン Cookie を Chrome に送信し、新しいセッションを開始します。その後、Firefox でサイトにアクセスすると、FF はログイン Cookie を持っていないため、WP はログインを促し、ログイン Cookie を FF に送信して、新しいセッションを開始します。次に Chrome でサイトにアクセスすると、Chrome のログイン Cookie が取得されますが、これはユーザー名に関連付けられて最後に送信されたものと一致しないため、すべてが最初からやり直されます。

これは、モバイル デバイスの問題を直接説明するものではありません。何らかの理由で Cookie が適切に保存されていないようです。

于 2013-04-13T05:23:21.070 に答える