首页 > 解决方案 > 您可以使用 setcookie 在域之间共享 $_SESSION cookie 吗?

问题描述

我正在尝试使用setcookie和创建 SSO 登录$_SESSION。我知道您可以使用setcookie. 我可以这样做$_SESSION吗?

这就是它的工作方式。用户进入登录域 -> 他们登录 -> 服务器$_SESSION在主域/其他域(取决于)上设置 cookie。无论如何我可以做到这一点吗?我不想做

setcookie('$_SESSION', $_SESSION, time() + 3600, '/', '.testsite.com');

因为它放置了实际文本,人们可以使用 chrome 扩展轻松编辑并在我实施应用程序时进入其他人的帐户。
我可以这样做吗?

setcookie('PHPSESSID', $_SESSION, time() + 3600, '/', '.testsite.com'); 

标签: phpsessioncookies

解决方案


数据库会话并不是一个好主意,因为您不能每次都通过查询数据库来检查会话,太多昂贵的操作并且您的数据库很可能总是满的。我使用这种架构在我的一个项目中实现了 SSO。它相当简单易懂。您可以使用 iframe 并拥有 SSO 域来实施 SSO。 https://yoyodesign.com/thoughts/knowledge/2013/may/single-sign-on-a-proof-of-concept/


推荐阅读