【问题标题】:Is it possible that PHP session expire while surfing website using IP address?使用 IP 地址浏览网站时 PHP 会话是否可能过期?
【发布时间】:2012-08-04 07:50:40
【问题描述】:

我最近遇到的一个意外问题是,我在我的一个网站上配置了 Sagepay 支付网关,并且它工作得非常顺利。但是当我将整个站点移动到另一台服务器时,我不得不使用它的 IP 地址来测试该站点:

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

现在当我们通过 Sagepay 支付网关在现场完成在线支付时,

  1. 返回站点
  2. 从会话中获取客户详细信息
  3. 向客户发送电子邮件

所以现在(在第 3 步中),当它从会话中获取客户电子邮件时,它没有获得任何价值。我试图转储$_SESSION 数组,但它是空白的。

所以我的问题是:通过 IP 地址浏览网站时会话是否可能过期?

【问题讨论】:

    标签: php session session-cookies opayo


    【解决方案1】:

    是的...如果会话在限制范围内,可以定期清除...阅读此处...还提供有关如何修改设置以满足您的需要的提示:http://php.net/manual/en/function.session-cache-expire.php 它详细说明了 PHP 如何清理最有可能发生的事情。

    【讨论】:

    • 好的,但我的问题是,它是否会过期,因为我正在使用 IP 地址浏览网站?
    • 不...只是 php 清理它的会话...通过 ip 访问应该没有区别。
    【解决方案2】:

    如果您使用不同的域(或服务器 IP 地址)访问服务器,会话可能会过期,因为会话 cookie (PHPSESSID) 可能会将域属性绑定到域(相关:setcookie(), RFC 2109,session_set_cookie_params() 函数)。

    为了防止会话过期,您可能希望采用另一种方法,实现一种方法,即如果您从另一个域/IP 访问该站点,您仍然可以登录并“附加到”您之前的会话。 This question and answer 可能是一本不错的读物,因为它描述了各种身份验证方法、要求和陷阱。

    【讨论】:

      猜你喜欢
      • 2013-01-30
      • 2013-06-04
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多