今日、非常に厄介な問題に遭遇しました。クライアントに埋め込まれた Web ページ用の PHP インターフェイスを開発するプロジェクトがあります。テストには 6 台の iPhone が必要でしたが、バージョン 9.1 は 1 台だけでした。 . iPhone6sの調子が悪く、原因が分かりません。
その後、fiddler を使用してパケットをキャプチャしたところ、このデバイスは Cookie を生成する必要があるインターフェイス要求の後に Cookie を生成しなかったため、今後 Cookie を使用する必要があるインターフェイスは使用できないことがわかりました。 Web ページがクライアントに埋め込まれているため、Safari で Cookie が有効になっているかどうかを確認したところ、Cookie も有効になっていることがわかりました。
これはとても奇妙です!他にどのような理由が考えられますか?端末の時刻を見ると、現在時刻と違っていました(日付を気にしていなかったので、少なくとも1日は進んでいるはずです)。サーバーによって設定された Cookie の有効期限が 1 日であるため)。日付を現在の正しい時刻に調整した後、Cookie を生成できます。
その後、現在の Cookie 設定時刻が 2016 年 3 月 24 日 22:00 (サーバー時間)、クライアント時刻が 2016 年 3 月であると仮定して、Cookie 設定の有効期限が 1 日の場合にこの問題を再現しました。 25 日 22:00 では、Cookie は設定するとすぐに期限切れになるため、Cookie の設定は成功しません。
上記では、サーバー側で PHP に Cookie を設定する方法を紹介しましたが、これはクライアント側では有効になりません。また、PHP チュートリアルに興味のある友人の役に立つことを願っています。