[PHP-users 19840]Re: 携帯でセッション
Misha
misha @ mbm.nifty.com
2004年 1月 12日 (月) 05:24:54 JST
ミーシャです。
自己レスですが、これは「PC上のブラウザ」では上手くいっていないのに、「携帯」では上手くいかない、
と、勝手に解釈していたのですが、
実際のところ、現状のphp.ini の設定等により、PCブラウザ上でもセッションの引き渡しが上手くいっていますか?
(たとえば、セッション自体に透過設定がされており、暗黙jのセッション引渡し等がサーバレベルで上手く行っているか?等)。
※実際には2.php でセッション情報が正常に引き渡されているのですから、そこらへんは問題ないのでしょうが・・・。
2.php と 3.php の大きな違いは、POSTメソッドで遷移しているか、単なるリンクで遷移しているか、なので、
その点に疑問を抱いた次第です。
※なぜ「キャリア・機種」を知りたかったか?というと、携帯の場合、中継サーバや、
他のサイトと判断された場合のセッション引渡し制限など、
さまざまな条件があり、意図的に「セッション情報の暗黙的透過引渡し」を許さないケースや、
中継サーバから、わざわざ、本送信元WEBサーバの80ポートをたたくことでブラウザ用領域の小さい機種に対して分割送信をしているケースがある
からです。
(後者の場合、送信元の実体はキャリアの中継サーバになるため、本送信元WEBサーバのセッション情報を透過的に認識することができません。
この場合、GET等の引数にSIDを指定する等、セッッション情報そのものを明示的に引き回すことで回避する以外、簡便なセッション処理は不可能と
なるため、
セッションIDが外部に漏洩しても構わないと開き直るか〜その判断自体はサーバ管理者の責に帰するものですが・・・〜、
もしくはDBの参照等、別の手段を選択するより他、ありません。)
以上、蛇足まで。
-----------------------
ミーシャ
> -----Original Message-----
> From: php-users-bounces @ php.gr.jp
> [mailto:php-users-bounces @ php.gr.jp] On Behalf Of ジェリー
> Sent: Monday, January 12, 2004 3:10 AM
> To: PHP-users ML
> Subject: [PHP-users 19837] 携帯でセッション
>
> いつもお世話になります。
> ジェリーです。
>
> 携帯のブラウザ等でセッションデータを持ちまわししたいのですが、
> 上手くいきません。
> 以下に簡単なソースを示します。
>
> ----------------------------------------index.php
> <?php
> #セッションスタート
> session_start();
> if(isset($ID)){
> session_register("ssID");
> $ssID=$ID;
> }
> elseif(!session_is_registered("ssID")){
> session_register("ssID");
> $ssID="no";
> }
> print $ssID ."<br>\n";
> print "<FORM method=\"POST\" action=\"2.php\">\n"; print
> "<input typ=\"text\" name=\"ID\">\n"; print "<input
> type=\"submit\" value=\"送信\"><br>\n";
> print "</form>\n";
> ?>
> ----------------------------------------2.php
> <?php
> session_start();
> if(isset($ID)){
> session_register("ssID");
> $ssID=$ID;
> }
> elseif(!session_is_registered("ssID")){
> session_register("ssID");
> $ssID="no";
> }
> print $ssID ."<br>\n";
> print "<a href=\"2.php\">2</a><br>\n";
> print "<a href=\"3.php\">3</a><br><br>\n"; ?>
> ----------------------------------------3.php
> 2.phpと同様の内容。
>
>
> index.phpから内容を送信して2.php,3.phpの間データを持ち回したいのですが、
> 携帯では上手く行きません。
> そもそも携帯のブラウザではセッションデータは扱えないのでしょうか?
> 私のセッションに対する理解ではデータ自体はブラウザのキャッシュや、
> クッキー等に依存せずサーバー内にセッションデータが保存されるため、
> 携帯でも動いてくれるような気がするのですが、これは間違いでしょうか?
> 実際index.phpから2.phpにデータは渡せますが3.phpにはデータが渡せません。
> ご教授お願い出来ませんでしょうか。
> よろしくお願い致します。
>
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>
>
PHP-users メーリングリストの案内