2012-03-13 10 views
1

サーバー上で無限のHTTP 3xxリダイレクトループを検出する方法はありますか? (クライアントがエラーを出した正確な時刻でなくても、それに必要なリダイレクトの数はクライアントに依存しますが、10回の連続したリダイレクト後にエラーをログします)サーバー側の無限HTTPリダイレクトループを検出する

リダイレクトはアプリケーションコードLAMP環境で使用します。コードを変更することはできますが、URLを変更したくないので、何らかのカウンタを追加することは問題ありません。セッションを使用してリダイレクトの数をカウントし、リダイレクトされていないリクエストごとにその数を消去することができますが、セッションは複数のブラウザウィンドウで共有されるため、脆弱です。別の方法(ブラウザが戻ってくるHTTPヘッダーを使用するなど)がありますか?

+0

この問題を処理するためのより良い方法を求める[Mozilla機能要求](https://bugzilla.mozilla.org/show_bug.cgi?id=737465)を作成しました。 – Tgr

答えて

2

「標準的な」方法はありません。

あなたはセッションでそれに近づくべきでしょう。リダイレクトをカウントするだけですが、タイマーを保持することもできます。リダイレクトが非常に短い時間内に発生した場合にトリガーしたいからです。

もちろん、症状を修正するよりも原因を修正するほうがはるかに優れています。

関連する問題