2

ボタンをクリックして JavaScript 関数を呼び出す Drupal 5 サイトがあります。この関数は基本的に文字列を作成し、サイトの別のページにリダイレクトします。ボタンをクリックした後、以前にログインしていたにもかかわらず、ユーザーがログアウトされ、「アクセスが拒否されました」画面が表示される場合があります。リダイレクトされるページには、前のページと同じアクセス制限がありますが、それにもかかわらず、彼らはログアウトされるべきではありません。

あるユーザーは、これが約半分の時間で発生し (残りの半分は正常に機能します)、別のユーザーは、そのボタンをクリックすると常にログアウトされると報告しています。ただし、使用するマシンでは常に問題なく実行できます。これは、IE6 を使用していることが関係していると思われます。以前にこの問題に遭遇した人はいますか、またはこれを引き起こしている可能性のあるアイデアはありますか? Drupal フォーラムで検索して投稿し、このフォーラムで検索しましたが、まだ運がありません。

4

2 に答える 2

3

多くのことが思い浮かびます。

  • ページは同じドメインにリダイレクトされていますか? domain.com と www.domain.com は Cookie に関する限り同じではありません (設定方法によって異なります)。
  • どのブラウザでも 100% 確実に再現できますか? ユーザーに不快感を与えることはありませんが、ユーザーは嘘つきです (または、少なくとも技術的なバグを報告するのが苦手です)。ユーザーが私に言ったことを事実として信用することはありません (「ああ、そうです、試してからブラウザを閉じていましたが、それは問題ではありません。」)。
  • サーバー上でセッションをクリアしている何かが実行されていますか、それともセッションの有効期限の制限が過度に設定されていませんか?

道徳: 最初に問題を再現してみてください。そうすれば、それが何であるかを正確に絞り込めます。Firefox と一般的な Cookie の問題のデバッグには Firebug + Firecookie を、IE のデバッグには Fiddler2 (プロキシ) をお勧めします。

于 2008-09-23T00:29:03.830 に答える
1

正直なところ、これを引き起こしているコードを投稿するのが最善の方法だと思います。

Drupal は、Cookie を使用する PHP セッションを使用してこれを行います... ユーザーの中に Cookie をオフにしている人はいますか?

別のドメインへのリダイレクト、セッションのクリア (/tmp cleanup?) など、さまざまな原因が考えられますが、通常は、このようなものをブラウザーに配置します。

別のブラウザー (Firefox を試してください) を使用してまだ再現できるかどうかを尋ねてください... Cookie のセキュリティ設定などを確認してください。

于 2008-09-23T00:34:50.713 に答える