Tomcatでセッションの有効時間を指定する方法

目次

スポンサードリンク

セッションが長期間破棄されない場合の問題点

セッションが長期間破棄されない場合、なんらかの方法でセッションIDが窃取されてしまうと、ユーザへの成りすましによって個人情報や機密情報の漏洩、意図しない操作の実行などが生じる可能性があります。通常はサービスに影響がない範囲内で可能な限りセッション保持期間を短くするすることが推奨されています。

セッションの有効時間を指定する方法

Tomcatの場合、セッションの有効時間を指定する方法は二つあります。一つは特定のWebアプリケーションに限定して有効時間を設定する方法です。もう一つはTomcat全体の設定を変更する方法です。後者の場合、そのTomcat で動作している全てのアプリケーションに設定が反映されます。

Webアプリケーションの web.xml で設定する方法

特定のWebアプリケーションに対してセッションの有効時間を設定する場合、そのアプリケーションの WEB-INF/web.xml ファイルを編集します。

<web-app>
<session-config>
    <session-timeout>60</session-timeout> </session-config>
...
</web-app>

<session-timeout> 要素に、セッションが非アクティブになってから無効になるまでの時間を分単位で指定します。

Tomcat全体のデフォルト設定を変更する

Tomcat全体でデフォルトのセッション有効時間を変更することもできます。この設定はweb.xml でセッションタイムアウトが定義されていないすべてのWebアプリケーションに適用されます。

Tomcatのインストールディレクトリにある conf フォルダを開き、web.xml を編集します。<session-config>要素を探し、その中の<session-timeout>要素の値を変更します。

<session-config>
<session-timeout>30</session-timeout> </session-config>

設定変更後、Tomcatを再起動するとセッション有効時間が変更されます。



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon