- ベストアンサー
セッション管理の必要性と方法について
- セッション管理は情報管理システムにおいて必要な要素です。iアプリとDBサーバを利用したシステムでは、セッション管理を行うことでセキュリティやユーザー認証を行うことができます。
- セッション管理を行うためには、サーバ側のプログラムでセッション情報を管理する必要があります。Perlを使用してサーバ側のプログラムを作成することができます。
- セッション管理は、ユーザーごとに一意のセッションIDを発行し、セッション情報をサーバ側で管理することで、ユーザーのログイン状態やデータのやり取りを安全に管理することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
オンラインショッピングが一番わかりやすいと思うので、これを例に取ります。 オンラインショッピングは ・カタログ画面を表示 ・お客様が気に入った商品をカートに追加 ・レジのページに進む ・カード番号とお届け先を入力 のような手順で進みます。 この中で、レジのページに進む処理について見ると、通信は、 ・お客様のPCからレジのページを表示する要求が来る ・レジのページのデータをお客様のPCに送る ・通信完了 と進みます。 ここで大事なのは、通信が完了してしまうことです。 つまり、オンラインショッピングのサーバは、次にカード番号を入れた通信をしたとき、それが先ほどレジに進むボタンを押したPCからの通信であるかどうかわからないのです。 そこで、セッション管理というのを行います。 セッションというのは、一連の通信の最中に、「この(レジに進む)の通信はさっき(カートに追加)を押した人と同じだな」「これは新しい通信で、さっきのとは違うな」というような、通信の切り分けを行うために使うものです。 一言しゃべるたびに切れてしまう電話を想像してください。この電話で通信販売をしようとします。 最初にお客様から「これが欲しい」と言われて「わかりました。住所を教えてください」と言う。ここで一度電話が切れます。 次に電話がかかってきて、「東京都○○区××です」と言われて、「名前を教えてください」と言う。ここでまた電話が切れる。 とても不便ですよね。しかも、2度目の電話で住所を言っている人が、最初に商品を注文した人と同じかどうかわからないし。 HTTPの通信は、このような感じで行われているのです。 この不便な中で、ちゃんと注文できるように、以下のように処理します。 最初にお客様から「これが欲しい」と言われて「わかりました。あなたの番号は123456です。住所を教えてください。次に電話をかけるときは番号も伝えてください。」と言う。ここで一度電話が切れます。 次に電話がかかってきて、「番号は123456です。東京都○○区××です」と言われて、「名前を教えてください。番号も伝えてください。」と言う。ここでまた電話が切れる。 セッション管理で行っていることは、このような処理です。 bodyspecial20様の考えていらっしゃるシステムで、例えばパスワードを入力してシステムにログインするような仕組みを考えていらっしゃるならば、パスワードを入力した端末であることを判別するために、セッション管理が必要になります。 しかし、パスワード入力の必要があるときだけ毎度パスワードを入れさせるつくりであるとか、そもそも端末の番号だけでユーザの管理をする仕組みであるならば、セッション管理は必要ありません。
お礼
space_needle様 こんばんわ。bodyspecial20です。 とてもわかりやすい例えで説明いただいてありがとうございました! 考えているシステムは、例えていただいているようなサーバとの連続的な通信はないですし、通信時はデータといっしょに携帯電話の製造番号を送ってユーザを識別しようと思っているので、セッション管理は必要ないと考えてよさそうですね。 またの機会によろしくお願いいたします。