最终用户安全软件阻止的PHP会话cookie

时间:2011-02-25 09:58:33

标签: php session cookies average norton

我遇到了PHP会话cookie的问题,它只影响使用安全软件(包括McAffee,AVG和Norton)的Internet Explorer用户。 IE和这些安全包的一些(但显然不是全部)用户无法登录或添加项目到他们的购物篮,因为看起来该软件阻止了PHP创建的会话cookie。

  • 使用标准IE,Firefox,Opera等。会话cookie正常工作。
  • 将IE安全设置更改为最大值仍允许Cookie通过。
  • Cookie未加密。
  • 我们没有PCI合规性,但我们确实拥有最新的EV SSL证书。
  • Cookie由自定义(第三方)会话类创建。
  • 我们已尝试安装软件包,但无法重新创建该错误。
  • 我们从电子商务转换中了解到,这仅影响/主要是IE用户。

会话使用session_start()启动,我们为其定义了以下设置:

@ini_set('session.use_cookies', 1); 
@ini_set('session.use_trans_sid', 'Off'); 
@ini_set('url_rewriter.tags', ''); 
@ini_set('session.gc_probability', 1); 
@ini_set('session.gc_divisor', 100); 
@ini_set('session.referer_check', ''); 
@ini_set('session.gc_maxlifetime', 604800); 
session_set_cookie_params($this->session_lifespan, '/', null, null, TRUE); 
session_start(); 

会话生命周期设置为21600(六小时)

可能导致Cookie被阻止的原因是什么?这些安全包是否为此所知,是否有任何编码解决方法?

2 个答案:

答案 0 :(得分:0)

我相信在从/切换到Http / Https时你需要有一个不同的会话。

由于会话处理程序通常使用cookie,并且无法在http / https之间共享cookie,因此在切换后会话似乎会丢失。

答案 1 :(得分:0)

  

可能导致Cookie被阻止的原因是什么?

愚蠢人的哑软件?当然还有其他人认为他们正在为这个世界提供服务by breaking existing functionality

但如果你不能复制这个问题,那么他们可能没有做错任何事。

  

会话生命周期设置为21600(六小时)

您是否在会话Cookie上设置了到期时间?我是这样,既然FF和MSIE私有'私人'浏览功能 - 我希望这更有可能成为候选人。

请确保您在Cookie上设置了httponly标志 - 并尝试设置安全标记(尽管这显然会对导航产生其他影响)。