一回も披露したことのない豆知識

携帯サイトを開発しており、自身では煮詰まってしまった為質問させていただきます。

携帯サイトのためsessionを使用せず、認証(一応閉ざしたサイトです)にはREQUESTでキーになる値を常に次のページに渡しながらログイン状態を維持させています。

ところがREQUESTで同じKEYを渡しているにもかかわらず、ログイン状態が維持されなくなってしまいます。
維持されなくなったときの状態としては、URLに通常ならhttp://****.com/index.html?let=abc →abcがログインの為のキー。
となっているのに
http://****.com/error.html?SID
となってしまっています。
error.htmlはエラー用ページですので動きとしては正しいです。

REQUESTで渡しているkeyはいつも同じであり、タイミングによってログイン状態が維持されたりしなかったりで原因がつかめず困っています。

対象ディレクトリの.htaccessファイルには下記の設定をしています。
php_flag session.use_trans_sid Off
php_flag session.use_cookies On
php_flag session.use_only_cookies On
php_flag session.auto_start Off
(これらの設定を入れる前からエラーは発生しましたが)

なにか原因がお分かりになる方、教えてください。

A 回答 (3件)

読み飛ばしてました、session.use_trans_sid Off なんですね。


> はい、自動生成です。
質問が曖昧でしたが、これはどういう意味ですか?
リンクにパラメータを自動付加するなんとかいう設定(忘れました)
のことではなくで値は作ってるってことですかね。
通常のURLにSIDはないのにどうしてSIDがついてくるのか
仕様がよく分からなかったもので。

> POST送信時にGETのクエリが消える機種
はSoftBank社名変更の頃にありましたが、最近のは分かりません。
それでも100%起こる現象だったので違う気がします。

何の力にもなってませんが、遷移時の状態をチェックして
100%近く起こる条件を頑張って見つけてくださぃ。。
    • good
    • 0
この回答へのお礼

>質問が曖昧でしたが、これはどういう意味ですか?
>リンクにパラメータを自動付加するなんとかいう設定(忘れました)
>のことではなくで値は作ってるってことですかね。
いえ、自動付加する設定です。

今回の問題はセッションIDをトップページアクセス時にセッション変数に格納し、その値をページ間にまたがって持ち続けさせることで解決いたしました。
REQUESTで認証keyを受け渡すやり方をやめたという結論です。

親身になっていただき、とても耳寄りなアドバイスをありがとうございました。

お礼日時:2008/11/13 00:51

全く同じ遷移でたまに、だとちょっと分からないですが・・


認証に時間要素を入れているわけでもないのですよね?
?SIDは自動生成でしょうか?
あとは、POST送信時にGETのクエリが消える機種はありましたが・・

この回答への補足

アドバイスありがとうございます。
>認証に時間要素を入れているわけでもないのですよね?
認証に時間要素は入れていません。
>SIDは自動生成でしょうか?
はい、自動生成です。
>あとは、POST送信時にGETのクエリが消える機種はありましたが・・
現状はこの可能性が最も高いです。
POSTとREQUESTを同時に投げている遷移でREQUESTが消えてしまうことが非常に多いです(100%ではないので微妙なのですが)。

補足日時:2008/11/10 01:40
    • good
    • 0

携帯サイトの場合、セッション情報を維持するためにSIDをクエリストリングに含める必要があったような気がします。

現場を離れてしまったので、詳細は忘れてしまいましたが、このサイトを参考にしてみてください。
http://www.y2sunlight.com/water/webman/php2/2E.h …

この回答への補足

ご回答ありがとうございます。
もし常にSIDがURLについてしまうのであればセッションでの管理方法で行きたいのですが、REQUESTのデータで正常に遷移することも半分くらいあるので、これといった決定打(解決策)がないのです。

補足日時:2008/11/10 01:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!