【问题标题】:session.cookie_domain in php.ini - issues with POSTing formsphp.ini 中的 session.cookie_domain - POST 表单的问题
【发布时间】:2011-12-09 20:59:11
【问题描述】:

我的主域:www.domain.com 有一个 cookie,设置为:domain.com

一旦用户单击链接访问www.domain.com/login,并尝试登录(通过POST 请求),此表单将cookie 设置为www.domain.com(添加www)。这给很多人带来了问题,因为当他们提交登录表单时,页面只是刷新。

对于某些人来说,它会永远这样做(永远无法提交表单)。对于其他人,它只有一次 - 第二次,它工作正常。它也因浏览器而异...

我的解决方法是什么,我假设我需要在我的 session.cookie_domain in php.ini 中输入一些内容 - 但正确的做法是什么?

谢谢大家。

---更新--- 登录页面设置cookie的代码:

$expireTime = 60 * 60 * .5; // 30 minute expire time
session_set_cookie_params($expireTime,"/");
session_start();

【问题讨论】:

  • 请包含您用于设置 cookie 的实际代码。

标签: session cookies php


【解决方案1】:

您需要明确设置域,没有 www,但带有前面的点,作为该函数的第三个参数。

session_set_cookie_params($expireTime,"/", ".yourdomain.com");

这将允许 cookie 以相同的方式工作,无论 www 是否存在于实际 URL 中。请注意,这也适用于您可能使用的任何其他子域,这通常是一件好事,只需将其放在那里即可。

【讨论】:

  • 我也可以在我的 php.ini 文件中设置“.yourdomain.com”,不是吗?
  • 是的,您也可以将 INI 中的 session.cookie_domain 设置为该值。
猜你喜欢
  • 1970-01-01
  • 2017-05-11
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多