Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将cookie设置为特定域_Php_Iframe_Cookies_Ssl_Login - Fatal编程技术网

Php 将cookie设置为特定域

Php 将cookie设置为特定域,php,iframe,cookies,ssl,login,Php,Iframe,Cookies,Ssl,Login,我拥有很多子域,但只有主域有SSL。在每个子域上都有一个不同的网站,并且都使用相同的CMS系统、相同的文件和主机(基本上是重定向到主域并使用PHP显示他们想要查看的站点)。我只有一个到我的主域的SSL。显然,它在子域上不起作用。因此,我想使用AJAX将表单从子域提交到主域,但我想这不安全,因此我决定使用: <iframe src="https://main.com/login.php?webid=958325&pageid=83985&hash=hjWR23grvw$%F$

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

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

但问题是饼干。我如何创建一个cookie,该cookie将在所有子域(主域)上工作,如果可能的话,还将在某些特定URL上工作(工作方式相同,但域和非子域)。

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

  • (5)域名
  • (6)安全
例如:

// 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);

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

如果我在域google.com中写入,会影响谷歌吗?有没有办法设置很多域(可能是数组)?如何编写“example.com的所有子域”
example.com
将使cookie对任何子域有效,例如
www.example.com
。至于谷歌的事情,我不确定。我从未尝试过,但据我所知,显然你应该能够将cookie设置到远程域。好的,那么我可以这样做:
setcookie('cookie',$variable,0,'folder/',array('domain.com','otherdomain.com','domain.net'),false)?否。该参数需要
字符串
变量类型。但是,您可以使用
foreach
,循环所设计域的数组,然后为所有域设置cookie。如果将
secure
设置为true,则无法通过普通HTTP(对于非SSL子域)读取。如果您有证书,则可以使用相同的证书并为所有子域设置SSL。@SilverlightFox,我没有通配符SSL证书。根据。