ContentsWebアクセスは単一ページで完結してしまうセッション管理の概要セッションIDが漏えいしないように・・・Webアクセスは単一ページで完結してしまうHTTPは、もともとハイパーテキスト、すなわちHTMLファイルの転送に利用するプロトコルです。単純にWebサイトを見るときは、WebサーバアプリケーションはWebブラウザからWebページのリクエストを受け取り、レスポンスとしてWebページの内容を送り返してWebアクセスの通信は終了します。ところが、Webアプリケーションでは、1つのWebページの表示だけでは処理が完結しません。複数のWebページにまたがって処理を行うことになります。オンラインショッピングを考えると、商品ページから購入したい商品をカートに入れます。カートのページから決済ページで決済を完了させるというように複数のWebページをまたがって処理を行います。複数のWebページにまたがって同じクライアント(Webブラウザ)からのアクセスであることをきちんと識別して処理を行わなければいけません。セッション管理によって、特定のクライアント(Webブラウザ)からの複数のWebページにまたがったWebアクセスを識別して、Webアプリケーションでの一連の処理を正しく行うことができます。セッション管理の概要セッション管理のために、最初にWebブラウザからのリクエストを受け取ったときにWebサーバ側で通信セッションを識別するセッションIDを発行します。WebブラウザはWebサーバにリクエストを送信するときに、セッションIDも一緒に通知します。Webサーバは、セッションIDによって一連のリクエストが同一クライアントのWebブラウザによる通信セッションであることがわかるようになります。Webアプリケーションにおける通信セッションの管理WebサーバとWebブラウザ間でセッションIDをやり取りする代表的な方法として、以下の3つあります。CookiehiddenフィールドURLリライティングURLリライティングは、URLにセッションIDを埋め込む方法です。WebサーバからのリプライとなるWebページのすべてのリンクにセッションIDを埋め込みます。Webブラウザがリンクをクリックすると、自動的にセッションIDが含まれたURLのリクエストを送信することになります。Cookieは、Webサーバが発行するCookieにセッションIDを埋め込む方法です。Webブラウザはリクエストを送信するときにCookieも一緒に送信してセッションIDを通知します。hiddenフィールドhiddenフィールドは、WebページのフォームのhiddenフィールドにセッションIDを埋め込みます。Webページの遷移はすべてフォームで記述し、Webページの遷移の際にはhiddenフィールドのセッションIDがWebサーバに通知されます。セッションIDが漏えいしないように・・・セッションIDは、第三者に漏れてしまわないように考慮しなければいけません。セッションIDが第三者に漏れてしまうと、セッションが乗っ取られてしまうセッションハイジャックの危険性があります。URLリライティングは、セッションIDが漏れてしまう危険性一番高いです。セッションIDを秘匿するには、フォームのhiddenフィールドにセッションIDを埋め込むことが最も有効です。Cookieを利用する場合は、Cookieのsecure属性を指定して、HTTPSの通信のみCookieを送信するなどを検討します。会社概要サイトマップ。