公開日:2013年3月1日
Tomcat のセッション ID に HttpOnly 属性と secure 属性を付与する
Tomcat 7では、セッション ID にデフォルトで HttpOnly 属性が付いていますが、念のために設定を行います。
Tomcat 7で HttpOnly 属性を付与するためには、 %TOMCAT_HOME%\conf\server.xml に次の設定を行います。
<session-config> <cookie-config> <http-only>true</http-only> </cookie-config> </session-config>
また、Tomcat は HTTPS 通信でセッションを開始すると、自動的にセッション ID に secure 属性が付与されます。ですが、SSL アクセラレーターを利用した場合、HTTPS の暗号化通信を SSL アクセラレーターで復号し、Tomcat には HTTP でアクセスされてしまうのでデフォルトでは secure 属性が付与されません。
ですので、HTTP 通信でも secure 属性が付与されるように設定を行います。
<session-config> <cookie-config> <secure>true</secure> </cookie-config> </session-config>
これらの設定を行なって、HTTP 通信で JSP にアクセスしたレスポンスヘッダーは以下のようになっていて、正しく設定されていることが分かります。
HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=900EE872CE7B3862346D0A7BE1B3B37E; Path=/test/; Secure; HttpOnly Content-Type: text/html;charset=utf-8 Content-Length: 213 Date: Thu, 28 Feb 2013 22:54:10 GMT
スポンサーリンク
カテゴリー:Java
コメントを残す