【问题标题】:Can you share $_SESSION cookies between domains with setcookie?您可以使用 setcookie 在域之间共享 $_SESSION cookie 吗?
【发布时间】:2019-04-15 12:43:34
【问题描述】:

我正在尝试使用 setcookie$_SESSION 创建 SSO 登录。我知道您可以使用 setcookie 在另一个域上创建 cookie。我可以对$_SESSION 做同样的事情吗?

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

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

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

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

【问题讨论】:

  • 我会建议使用 db session(将会话保存在 db 而不是文件上)这更容易在 laravel 框架中实现
  • 我怎样才能做到这一点并做到这一点(在像 SSO(单点登录)内并使用 setcookie?)

标签: php session cookies


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2011-02-13
    • 2013-08-31
    • 2017-01-02
    • 2018-08-27
    • 2017-05-14
    相关资源
    最近更新 更多