Javascript 関数が呼び出されるときに、私の Drupal サイトがユーザーをログアウトさせるのはなぜですか?
-
02-07-2019 - |
質問
Drupal 5 サイトがあり、ボタンをクリックすると JavaScript 関数が呼び出されます。この関数は基本的に文字列を構築し、サイト上の別のページにリダイレクトします。ボタンをクリックすると、以前はログインしていても、ユーザーがログアウトされ、「アクセスが拒否されました」画面が表示されることがあります。リダイレクト先のページには前のページと同じアクセス制限がありますが、それに関係なく、ログアウトされるべきではありません。
あるユーザーは、約半分の時間でこれが発生し(残りの半分は正常に動作します)、別のユーザーは、そのボタンをクリックすると常にログアウトされると報告しました。ただし、私が使用しているマシンでは常に問題なく実行できており、IE6 を使用していることが関係しているのではないかと思われます。これまでにこの問題に遭遇した人はいますか? または、何が原因なのか考えたことがある人はいますか?Drupal フォーラムで検索して投稿したり、このフォーラムで検索したりしましたが、まだうまくいきません。
解決
いろいろなことが思い浮かびます。
- ページは同じドメイン上にリダイレクトされていますか?Cookie に関する限り、domain.com と www.domain.com は同じではありません (設定方法によって異なります)。
- どのブラウザでも 100% 確実に再現できますか?ユーザーに悪気はありませんが、ユーザーは嘘つきです (または、少なくとも技術的なバグを報告するのが苦手です)。ユーザーが私に言ったことを事実として信用するつもりはありません (「ああ、そうですね、試行の合間にブラウザを閉じていました。しかし、それは問題ではないはずです。」)
- サーバー上でセッションをクリアしている何かが実行されていますか、それともセッションの有効期限の制限が過大に設定されていますか?
道徳の:まず問題を再現してみて、問題が何であるかを正確に絞り込むことができます。Firefox と一般的な Cookie の問題のデバッグには Firebug + Firecookie を、IE のデバッグには Fiddler2 (プロキシ) をお勧めします。
他のヒント
正直に言うと、これを引き起こしているコードを投稿するのが最善の方法だと思います。
Drupal はこれを行うために PHP セッションを使用しますが、これには Cookie が使用されます...ユーザーの中に Cookie をオフにしている人はいますか?
別のドメインへのリダイレクト、セッションのクリア (/tmp クリーンアップ?) など、原因としてはさまざまなものが考えられますが、通常はこのようなことをブラウザーに通知します。
別のブラウザ (Firefox を試してください) を使用しても再現できるかどうかを尋ねます...Cookie のセキュリティ設定などを確認してください。