セッション

ライブラリ概要

HTTP プロトコルはセッションレスなプロトコルです。これはウェブプログラマにとっては比較的大きな問題となっています。どの言語でウェブアプリを開発する際もセッション管理はプログラム側の責任で管理するのが基本です。本ライブラリではこのような問題を解決すべく、簡単なセッション管理機構を提供します。

ライブラリ特徴

以下の処理を提供しています。


セッションを確立する又は、セッション情報を取得する

セッションはc 言語プログラム内部にて”セッションID”で一意に関連づけられます。”セッションID”は各セッション値を管理するキーであり、セッション値をファイルシステムから取り出す際に必要になります。”セッションID”自体は「hidden」属性などでセッション間で受け渡す必要があります。 この関数では、”セッションID”を自動生成する他、既にセッションID が存在した場合は該当ファイルよりセッション値を取り出す処理まで一括して請け負います。セッションID の生成には、ランダム関数を用いています。けっして重複することがなく、安全に運用することができます。


セッション情報を記憶する

セッション間で受け渡す必要のある値はセッション値として”セッションID”ごとにファイルシステムに保存されます。ファイルシステムに保存されたセッション値はテキストデータで、場合によっては誰でも閲覧することが可能ですから通常、第三者が読めない領域に作成するのが一般的です。


セッション情報の有無をチェックする

認証システムなどセッション情報の有無により処理を分岐したい場合に利用します。通常、認証をかけるべきC プログラムの上部で呼ばれます。セッションが無効であるとは、”セッションID”が取得できない場合か、もしくは対応するセッションを記憶したファイルが見あたらないかのいずれかが考えられます。

ライブラリ利用例

ここ からセッションライブラリの利用例を閲覧することができます。