3

私が最近直面した予期しない問題の 1 つは、私のサイトの 1 つで Sagepay 支払いゲートウェイを構成していて、それがかなり順調に機能していたことです。しかし、サイト全体を別のサーバーに移動したとき、その IP アドレスを使用してサイトをテストする必要がありました。

http://xxx.xxx.xxx.xxx/mywebsite/

Sagepay支払いゲートウェイを介してサイトでオンライン支払いを完了すると、

  1. サイトに戻る
  2. セッションから顧客の詳細を取得します
  3. 顧客に電子メールを送信します

そのため、(3 番目のステップで) セッションから顧客の電子メールをフェッチしようとすると、値が得られませんでした。$_SESSION配列をダンプしようとしましたが、空でした。

私の質問は次のとおりです。IPアドレスを介してWebサイトをサーフィンしているときにセッションが期限切れになる可能性はありますか?

4

2 に答える 2

0

はい...制限内に収まる場合、セッションは定期的にパージできます...ここを読んでください...ニーズに合わせて設定を変更する方法に関するヒントもあります:http://php.net/manual/en/ function.session-cache-expire.phpは、PHP がどのようにセッションをクリーンアップするかを詳しく説明しています。

于 2012-08-07T10:07:38.890 に答える
0

別のドメイン (またはサーバー IP アドレス) を使用してサーバーにアクセスしている場合、セッション Cookie ( PHPSESSID) がそれをドメインにバインドするドメイン属性を取得する可能性があるため、セッションが期限切れになることがあります (関連: RFC setcookie()2109関数session_set_cookie_params())。

セッションの期限切れを防ぐために、別のアプローチを取り、別のドメイン/IP からサイトにアクセスした場合でもログインして以前のセッションに「アタッチ」できる方法を実装することをお勧めします。この質問と回答は、さまざまな認証方法、方法、および落とし穴について説明しているため、読みやすいかもしれません。

于 2012-08-07T10:15:23.950 に答える