ケータイサイトの構築に詳しい方に質問です。


ケータイサイトで <form method="post" action="a.php">..</form> のようなログインフォームを用意しています。
パスワードを入力してログインするとログイン後のページが表示されるようになっているのですが、一部端末でログインできない(ログインボタンを押してもログイン画面が再表示されてしまう)という問題が現象が発生しています。

端末は V302H V603SH A5502K W32S 702NH などです(端末の設定に依存するのかもしれませんが…)。

クッキーやリファラは使っていません。キャッシュやリダイレクトの問題のような気もするのですが、そのあたりの注意点や回避策などありましたら教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/03/30 20:10:15
  • 終了:2006/03/31 17:30:23

回答(2件)

id:pxb12663 No.1

pxb12663回答回数395ベストアンサー獲得回数142006/03/30 22:08:33

ポイント35pt

http://www.dummy.com

その"a.php"というのは同じサーバー内ですか?

というのもApacheの設定によっては、同じサーバー内でないとPOSTが旨く引き継げないといった現象があるようで・・・。

機種によってはPOSTが使えなくてGETのみ使えるといった機種も昔あったようですが・・・。端末名を見るとそういうわけでもなさそうですね。

試しにPOSTをGETにしてみたらどうでしょうか?

id:yoski

ありがとうございます。

PC のブラウザではまったく問題ないので Apache 関連は大丈夫だと思います・・・。

手元の端末では再現しないので、GET で試すことはできないのですが、パスワードを送信するため、いずれにせよ POST を使う必要があるのです。。。

その他、情報お待ちしています!

2006/03/30 22:24:55
id:wate_wate No.2

ワテ回答回数45ベストアンサー獲得回数32006/03/31 03:31:20

ポイント35pt

具体的なソースを見てみないとはっきりとはいえないのですが

認証後にhader関数を使って

ページをジャンプさせていればセッションの可能性があります。

例を挙げると、ログイン後に認証情報をセッション変数に格納し

header関数にてログイン後のページを表示。

ログイン後のページで該当セッション変数があるかどうかを判定し

直アクセスを防止としている場合、

上記の症状が出る場合があります。

その理由として、

サーバーがセッションIDをCookieで保存する場合に起こりえます

Cookie未対応の携帯を使用した場合、

上記の理由により、セッション変数が引き継がれません。

携帯でセッション情報を引き継ぐ場合、

GETパラメータにて強制でセッションIDを渡してやれば

移行先のページでもセッション変数を引き継ぐことができます。

なお、質問の機種がこれに該当するかどうかは

知りませんが、携帯の機種依存を避けるで意味でも

すべてのコードにこの手法で記載しておけば

問題ないのではないでしょうか?

原因の特定に関しては、

ソース側・サーバー側どちらの可能性も

捨て切れませんので、質問の回答としては

これ以上詳細な回答はできかねます。


http://www.udsj.com/

id:yoski

ありがとうございます。

クッキーは使っていません。。。と質問にも書いたのですが・・・

セッションIDを GET や POST のパラメータで引き継ぐことは当然やっています。

でもログイン時に送信されるのはログインIDとパスワードだけで、通常セッションIDはログイン後のページから遷移したとき、ですよね?

ログイン後のページ(リダイレクトかけてません)がパスワード入力画面になってしまう(戻る)ので困っているのですが・・・

うーん、質問の仕方がまずかったかな。あきらめます。

2006/03/31 17:29:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません