【发布时间】:2017-07-08 01:46:11
【问题描述】:
我的会话仅适用于子域,例如www.,并且没有该子域就无法工作。
例如,当用户登录时。
如果地址不在子域上。打字没有登录。
我设置了会话 cookie_domain 但它不起作用。
//我不想通过htaccess重定向,因为子域都有同样的问题
【问题讨论】:
我的会话仅适用于子域,例如www.,并且没有该子域就无法工作。
例如,当用户登录时。
如果地址不在子域上。打字没有登录。
我设置了会话 cookie_domain 但它不起作用。
//我不想通过htaccess重定向,因为子域都有同样的问题
【问题讨论】:
如果您希望 php 会话在您的所有子域中工作,您必须更改 cookie_domain 选项。在脚本顶部输入:
ini_set('session.cookie_domain', '.example.com' );
【讨论】:
www.domain.com 和 domain.com 不是同一个网站。它们是彼此的镜像
因此,domain.com 上设置的 cookie 将不会在 www.domain.com 上使用,反之亦然,因为假设它们是相同的东西是不安全的。
您可以通过将 php.ini 设置 session.cookie_domain 设置为 .domain.com 来允许会话 cookie 在所有子域以及主域上工作,从而在一定程度上覆盖此行为
【讨论】:
我用这个代码解决了这个问题
session_name("name");
ini_set ("session.cookie_domain", '.domain.com') ;
session_set_cookie_params(0, '/', '.domain.com');
session_start();
【讨论】: