1

下午好!

我有一个网站,允许您通过 iframe 登录并使用第 3 方应用程序。然而,一旦他们完成了他们的应用程序,它就会重定向到 iframe 内的我们的网站,只有当用户从 iframe 重定向到我们的网站时,他们才不会在 iframe 内登录。将会话从主机传输到 iframe 的最佳方式是什么?

到目前为止,我在 iframe www.test.com?sid=34324vcsd3 内有我认为效果很好的。但是,每当他们指示时,他们会将我重定向到当前未通过 iframe 登录的 www.mysite.com/page。即使我通过主机页面登录,我也没有通过 iframe 登录。

我想我有两个选择 1. 找到一种与 iframe 共享会话的方法

或者

2 想办法使用HTTP_Referer从iframe页面预传中拉取sessionID。

例如,我从 test.com?sid=3d3er3e3 发送到 www.test.com/page,其中 test.com/page 调用 HTTP_referer。我可以成功获取 test.com?sid=3d3er3e3,但我不确定如何提取 SID

你们会推荐什么?是否可以与 IFrame 共享会话?或者有没有办法从 http_referer 字符串中提取 sessionID?

或者,如果您知道,请推荐一个更好的解决方案-我对此很陌生,但是花了一天多的时间试图弄清楚这一点。任何帮助将不胜感激。

4

1 回答 1

1

据我所知,您正在尝试通过 GET 变量而不是使用浏览器 cookie 传递会话信息。在此处阅读有关 Sessions 的 PHP 手册:http: //php.net/manual/en/book.session.php

关于会话如何工作的快速、简单的解释是,您可以在一页上执行此操作:

<?
session_start();
$_SESSION['username'] = "foobar";
?>

...然后在另一页上:

<?
session_start();
echo $_SESSION['username'];
?>

...并且第二页将显示“foobar”,无论用户来自何处(只要他们已经访问过第一页至少一次)。

于 2013-06-18T20:46:43.710 回答