Codeigniter停止跨域会话

时间:2016-11-08 06:12:56

标签: php codeigniter

我有两个域名。 billing.test.org 2. test.org

test.org通常用于客户登录,billing.test.org用于应用程序管理员 场景:

test.org有一个iframe,其中显示了billing.test.org 因此,每当我通过test.org登录然后在新标签中打开billing.test.org时,它会显示相同的登录信息对我不利。 所以任何人都有想法或其他什么可以帮助我解决这个问题吗?

我已经完成了我的作业,但无法获得完美的解决方案

我的配置文件包含以下信息

$config['cookie_prefix']    = "";
$config['cookie_domain']    = "test.org";
$config['cookie_path']      = "/";
$config['cookie_secure']    = FALSE;
$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update']  = 300;

问题: 如果用户通过test.org登录,那么在用户手动登录之前不应该在billing.test.org上打开

所有建议都表示赞赏。

提前感谢所有人。

1 个答案:

答案 0 :(得分:0)

您的billing.test.org网站需要单独的(会话)配置 理想情况下,您的结算网站不同sess_cookie_namesess_table_name ,请将cookie_domain设置为“billing.test.org”。

另一方面,您似乎正在使用CodeIgniter 2.x,它已经被放弃了一年多了。您应该尽快升级到版本3。