• ベストアンサー

i-modeサイト内でASPのセッション変数を使いたい

i-mode対応サイトをASP(ActiveServerPages)で作成しています。 セッション変数がページを変えると引き継がれないようなのですが、ページを切り替えても変数を引き継ぐ良い案はないでしょうか? formのpost/getやhidden以外の方法はないのでしょうか? みなさまよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.2

#1です。 まずASPだけではなくPHPだろうがCGIだろうがJSPだろうがセッション変数同等のモノは携帯では使えません。 コレは携帯端末の通信方法によるものでどうなるものでもありません。 1リクエスト毎にコネクションは破棄されます。サーバー側ではどうしようもありません。 次にformのGETやhiddenを使っているサイトも結構ありますが、セッション(接続)というよりユーザを特定するので有れば「携帯端末の個体識別情報」を使います。 http://www.limy.org/program/mobile/uid.html これで利用者が一意に特定できるのでそのほかの情報はデータベースを参照し利用する作りで問題ないと思います。 これで回答になったかな?

Mr-k_k
質問者

お礼

ありがとうございます! 「携帯端末の個体識別情報」 参考になりました。 検討してみます。

Mr-k_k
質問者

補足

セッション変数の代わりに、Server.Transfer(path)メソッドなるものでは代用できないでしょうか? セッション変数なども転送されるみたいなのですが...

その他の回答 (2)

回答No.3

できます。 携帯がセッションを引き継げない理由の一つに「携帯デバイスは Cookie を受け付けない」という事が挙げられます。よって、セッション維持に Cookie を使用しなければセッションを維持できます。 ASP の経験がないので具体的な設定方法が示せないので申し訳ありませんが、例えば ASP.NET だと「Cookieless モード」というものが存在し、その場合は URL の一部にセッション ID を保持して、セッション維持を実現します。ASP の場合も似たような手段でセッション ID を受け渡しする方法があればそれで可能です。或いは自作でも良いでしょう。 但し、その場合はセッションIDの漏えいがより発生しやすくなるので、セッションハイジャック対策は怠らないようにしなければなりません。

Mr-k_k
質問者

お礼

こんばんわ。 「URL の一部にセッション ID を保持して」とは、 ファイル名.asp?session=セッションID のようにパラメータを付けるということでしょうか? 「URL の一部にセッション ID を保持」というのがよくわかりません。 セッションハイジャック対策はどのようにすればよいのでしょうか? 参考にさせてもらいます。ありがとうございます。

  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.1

i-modeに限らず携帯ではセッション変数は使えません おっしゃるとおりの方法しか有りません。

Mr-k_k
質問者

お礼

こんばんわ。 ではASP(ActiveServerPages)ではi-modeや携帯で会員制サイトは作りにくいということですか? セキュリティのことを考えるとformのgetやhiddenは使っていないと思うのですが... ”携帯ではセッション変数は使えません”ということですが、その他のPHP・CGIなどでは使えるのですか? セッション変数の代わりのような機能はないでしょうか? ご回答ありがとうございました。