2009-08-20 12 views
3

Tomcat(6.x)のどのクラスがセッションIDをクッキーに入れるか、リクエストに追加するかを知る必要があります。 これは、すべてのフィルタが通過した後に行われますか?Apache Tomcat(6.x)SessionIDの配置

私は、セッションIDがTomcatのセッション・マネージャによって設定されている

答えて

5

...レスポンスがブラウザに送信される前に、セッションIDを変更する必要がある - 異なる実装がいくつかあります。アプリケーションの実行中にセッションIDを変更すると、セッションマネージャによって行われた前提条件の一部が破損する可能性があります。

IDを変更するには、独自のセッションマネージャを実装する必要があります。これを行う「標準的な」方法は、ManagerBaseを拡張することです。 StandardManagerを拡張し、generateSessionId()を上書きすることもできます。 Tomcatは、カスタムセッションマネージャを使用して取得するには、

は、独自のセッションIDを生成するときに非常に慎重にてserver.xmlのContextManagerの構成を見てみましょう。サーバーがクッキー内のIDが有効かどうかを知ることはできません。攻撃者があなたのIDシークエンスを推測できる場合、彼はHTTPクライアントにクッキー値を設定するだけで他のユーザーのセッションを盗むことができます。