0

ログインが必要な Web サイトがあります。ログインは、ターゲット デバイスに割り当てられた認証トークンによって管理されますが (他にもいくつかあります)、何らかの理由で Wi​​ndows Phone では機能しません。iPhone とすべてのデスクトップ ブラウザーでテストしたところ、すべてのブラウザーで動作します。

設定された Cookie を表示するように設定しました。認証トークン Cookie を除いて、設定されている他のすべての Cookie が表示されます。

Cookie 名を変更しようとしましたが (実行中の冗長コードとの衝突があったかどうかを確認するため)、うまくいきませんでした (デスクトップ ブラウザーではまだ動作しています)。

setcookie 関数呼び出しを検出するコードを配置していたので、正しく呼び出されていることがわかりました。login と setcookie の同じコード パスで、$_COOKIE の var_dump も実行し、トークンが一時的に送信されたことを示しました。

コードにはモバイル ブラウザーを検出する機能が含まれていますが、使用されていません (テンプレート エンジンのいくつかの小さな部分を除いて)。

コードに関する追加の注意事項は、最初から最後まで、出力バッファーが有効になっており、コードの最後にのみ出力されることです。

問題の原因、または特に Windows Phone の問題の原因を突き止めるために、他に何ができるでしょうか。

編集

iPadでテストしたばかりですが、動作していません。通常の iPhone と Safari ブラウザで動作するため、非常に奇妙です。

編集

サイトを実行しているLAN上のコンピューターにサーバー(AMPPS)をインストールし(同じデータベースを使用)、ログイン機能は正しく機能します。

さらに、モバイル (ライブ バージョン) でのテスト中に、ユーザーはユーザー専用ページにリダイレクトされますが、Cookie は検出されず、ユーザーはサインイン ページに戻ります。他の Cookie は有効ですが、認証トークンは無効です。

すべての Cookie は同じ方法で設定され、有効期限は time() + 3600 で、パスは「/」に設定されます。

4

1 に答える 1

0

私はそれを修正したと思います。コードにはトークンの IP 検証が含まれていましたが、何らかの理由で、これらのデバイスでは (から返された$_SERVER['REMOTE_ADDR']) IP は127.255.255.255であり、これは正しくありませんでした。代わりにそれを行っていた理由はわかりませんが、無効な IP (127.255.255.255 など) に対して IP が考慮されないように修正し、現在は機能しています。

于 2013-01-04T12:10:02.880 に答える