将cookie设置为特定域

时间:2014-01-05 20:08:40

标签: php iframe cookies ssl login

我拥有很多子域名,但只有主域名拥有SSL。在每个子域上有一个不同的网站,并且都使用相同的CMS系统,相同的文件和托管(基本上它重定向到主域并使用PHP我显示他们想要看到的站点)。我只有一个SSL到我的主域。它显然不适用于子域。所以我想使用AJAX从子域名将表单提交到主域名,但我想这不安全,所以我决定使用:

<iframe src="https://main.com/login.php?webid=958325&pageid=83985&hash=hjWR23grvw$%F$W"></iframe>

但问题是cookie。如何创建一个可以在所有子域(主域)上工作的cookie,如果可能的话,创建一些特定的URL(以相同的方式工作,但域而不是子域)。

2 个答案:

答案 0 :(得分:0)

http://php.net/setcookie

第五和第六个参数可能会让您感兴趣,分别是:

  • (5th)domain
  • (6th)secure

例如:

// This cookie will only be set to domain.com/folder if a secure connection exists and will expire once the browser closes.
setcookie('cookie', $variable, 0, 'folder/', 'domain.com', true);

答案 1 :(得分:-1)

要让Cookie在所有子域上运行,您需要将Cookie设置为 .example.com ,但它不能在example.com上运行,因此您可能需要设置两个Cookie。