0

在我的网站上,我需要一种在两个域之间共享会话数据的方法(一个使用共享 SSL 证书,另一个使用普通 http),以便在登录后将用户从安全域重定向到正常域,所有同时保留会话数据。

所以这就是我想出的:

  1. 用户在安全登录页面中输入他的凭据并提交表单。

  2. 提交表单后,页面会刷新。刷新后,用户通过身份验证,会话启动并设置会话变量。然后,安全域上用户的 SID 作为 GET 数据发送到非安全域上的页面,其中安全 SID 设置为会话变量。

  3. 用户被重定向到主非安全页面,会话启动,安全 SID 被读取,最后,非安全域上的会话使用安全 SID 重新启动。这样,跨域保留相同的会话。

这种方法只有一个问题,我制作的 file_get_contents() 在代码到达重定向标头后立即被取消。在代码中:

    //The following line never completes
    file_get_contents('http://nonsecuresite.com/cookie.php?sid=session_id()');
    header('Location: http://nonsecuresite.com');

当然 SID 是加密的,但为了清楚起见,我省略了它。

有什么方法可以让脚本在进入下一页之前等待请求完成,同步 file_get_contents 函数?

4

0 回答 0