你可以在另一个域调用的文件上使用PHP Session吗?

时间:2014-05-13 11:31:29

标签: php session cross-domain same-origin-policy

我在external-site.com上有一个像这样的php文件:

<?php
session_start();
if($_SESSION['something'] == true) {
//do something
}
?>

这个PHP文件包含在不同的网站example.com上,如下所示:

<script src="http://external-site.com/session.js.php"></script>

当访问者访问example.com时,他被重定向到external-site.com。我在这里有这段代码:

<?php
session_start();
$_SESSION['something'] = true;
?>

然后,访问者会立即重定向回example.com

这有用吗?因为我没有违反同源政策,对吧?我想要在example.com本身使用会话。我只需要external-site.com。所以我想要将会话转移到另一个域或类似的东西。

如果是这样,它在哪个浏览器中工作,哪个浏览器不工作?

1 个答案:

答案 0 :(得分:0)

会话仅在主持会话呼叫的站点上可用。如果您有两个站点,则他们无法共享本地会话。

编辑:如果您的会话在外部-ite.com上打开,则无法在example.com上使用它。在您的情况下,您需要使用SSO服务。