是否可以清除不同会话的变量?

时间:2011-04-29 19:58:34

标签: php session

我在$ _SESSION上存储了一些信息,会话通过自定义会话处理程序存储在数据库中。

是否有标准方法可以“模拟”具有会话ID的会话或从其他会话中清除特定变量。

我问这个是因为我有我的网络应用程序,其会话变量自行工作,这是一个实际的购物车,其中包含使用paypal的订单信息。 Paypal通过IPN(通知)返回付款响应,这是从他们的服务器向我的网站发出的请求。当然,这些要求会启动他们自己的会议。

我想要找到的是一种从看到不同会话的paypal通知请求中清除原始会话变量的方法。有没有办法做到这一点?

一个想法可能是手动编辑存储会话数据的数据库,但我想查找标准的内容,而不管会话处理程序。

4 个答案:

答案 0 :(得分:1)

  

我问这个是因为我有我的网络应用程序,其会话变量自行工作,这是一个实际的购物车,其中包含使用paypal的订单信息。 Paypal通过IPN(通知)返回付款响应,这是从他们的服务器向我的网站发出的请求。当然,这些要求会引发自己的会议。

     

我想要找到的是一种从看到不同会话的paypal通知请求中清除原始会话变量的方法。有没有办法做到这一点?

如果您发现自己需要在其他人的会话中编辑数据,则不应该将这些数据存储在会话中。

如果您需要阅读或以其他方式使用IPN,也许您应该将它们存储在实际表中的数据库中。您可以将该行与用户的会话ID相关联,或者最好与其登录名或电子邮件地址相关联。

答案 1 :(得分:0)

会话因浏览器Cookie而生效。如果删除cookie,它将创建一个新会话。如果您将cookie更改为另一个会话的cookie,那么您现在正在冒充该会话。

您可以使用Chrome的开发者工具或Web Developer Firefox插件轻松访问您的浏览器Cookie。

答案 2 :(得分:0)

您是否尝试创建会话数组并为其提供ID。

像这样

$_SESSION['ipn'] ="";
$_SESSION['ipn']= "Mescalito";

答案 3 :(得分:0)

首先,这不是必需的。

我很确定您可以在IPN中指定唯一的作业ID。使用该唯一ID查找通知所属的用户,并编辑其数据。不要因为这个问题而烦恼,这是糟糕的设计。

相关问题