13

ユーザーから、画面を使用していて、次の要求ですぐにログイン画面に戻されるという報告と苦情が寄せられています。毎回ではなく、ランダムに発生します。

私は CakePHP と Auth コンポーネントを使用していますが、この問題以外はうまく機能しているようです。

これはセッションをリセットする 404 リクエストが原因である場合があるというフィードバックを Cake フォーラムで受け取りました。私はfirebugを開いており、失敗したリクエストはないので、これを可能性として除外しましたが、ユーザーは散発的にログアウトしています. これは、ブラウザやオペレーティング システム全体で発生するようです。

以下は私の構成設定の要約です: Security.level = high Session.timeout = 1200 // これは、実際のタイムアウトが 12,000 秒であることを意味します Session.save = php

私は本当にこの問題の原因について途方に暮れています...

4

4 に答える 4

9

セキュリティが高く設定されていることにも問題がありました。高に設定すると、リクエストごとにセッションが再生成されます。

私はクロスブラウザでもこの問題を抱えていたので、それが最善の解決策ではないことはわかっていますが、セキュリティ設定を中に変更し、セッションタイムアウトを変更してその設定を反映させ、それ以来問題はありません.

于 2009-10-15T18:51:05.170 に答える
1

同様の問題がありました。core.php ファイルの user_agent チェックであることがわかりました。これを false に設定してください。

ページの更新後にセッション ID が変更され、ログアウトされたのですが、Session オブジェクトで Attempted Session Hijack!!! というエラーが発生しました。pr($this->Session);

これを core.php で false に設定してください! Configure::write('Session.checkAgent', false);

于 2010-02-12T10:45:48.333 に答える
0

ユーザーがコントローラーの制限された部分またはアクションにアクセスしている可能性があるため、Auth->allowまたはを確認してください。->deny

次に、SanitizeCakePHP の仕様を確認してください。「高セキュリティ」オプションはしばしば問題を引き起こすためです。

404 ページはセッションをリセットしますか? 私はそれについて聞いたことがありません。

あなたの問題は認証ルーチンのどこかにあると思います。あまりにも多くのことを制限すると、属性が欠落しているためにリクエストの一部のコンステレーションが失敗する可能性があります。

例: UserOne が Web サイトにアクセスしようとすると、ユーザー名に文字列が含まれているため、ユーザー名が誤って解釈されます。名前はデータベース内で見つかりましたが、認証でそれを要求にリンクできませんでした。

このようなエラーは、コード内の想定外の場所に常に隠れています。

于 2009-10-15T16:44:50.133 に答える
0

高のSecurity.levelはそれを行います。core.php で medium に設定します

于 2009-10-16T10:47:49.867 に答える