[PHP-users 13965] Re: 携帯のブラウザでセッション設定について

akiba php-users@php.gr.jp
Fri, 14 Mar 2003 02:00:34 +0900


秋葉です。

セキュリティの話題に持っていったので、わかり難かったのでしょうか?
自分の興味で話題をマッチポンプしてたんで、お詫びの意味で少し解説を・・・

#13919が 回答そのものなのですが、
前段の部分は、セキュリティについての
警告です。
結論としては、

> で、上記のような接続形式にしたとして、携帯サイトでセションを持った
> アプリケーションを作るには HIDDEN タグを使うくらいしか手はないの
> ではないかと思います。
> 携帯端末に View Source の機能がなければ、とりあえず HIDDEN タグを
> 使っても、実用上の危険はないと言えると考えます。

は、

> 2.
> <input type="hidden" name="<?= $id ?>" value="<?=
> session_id() ?>"
>

しかないんじゃないの?
といった意味だと思います。

#13857で中村さんも、

私の知る限りでは、その方法しかありません。

と言われています。

私も同意見です。

従って、

> セッションが使えない状況でどのようにショッピングサイトを
> 作ればよいのか分からないのが今の私のレベルなのです。

ではなく、セッションを使われたらどうでしょうか?

ケンさんはお分かりかもしれませんが、
初心者の方も見ておられると思いますので、
最初から説明しますと、

Webでの問合せは、それぞれが独立
しており、単独で完結したものになります。
単独の問合せを関連付けて一連の処理
とするために、セッションを使います。
最初の問合せで、サーバは、セッションID
を端末に通知します。
2回目以降の問合せで、端末がセッションID
をサーバに通知することにより、サーバは
関連した問合せと認識することができます。

この、2回目以降の問合せで、端末がセッションID
をサーバに通知する方法の1つが、前述のhidden
を使った方法です。

ついでに書いておくと、

hiddenを使う以外に、URLの一部として渡す方法が
有ります。

この他にクッキーを利用する方法もあります。
クッキーは、端末側で情報を保持する機構です。
セッションにクッキーを利用することで、
サーバから端末へのセッションIDの
通知は初回の問合せだけでよくなります。
逆に言うと、クッキーが利用できない場合は、
2回目以降も毎回、サーバから端末へ、
セッション番号の通知が必要になります。

それぞれ、特徴がありますが、
hiddenを使うのが無難な選択
だと思います。

尚、セキュリティについては、後藤さんが詳しく
意見を述べられていましたように、十分な配慮が
必要でしょう。