php - 您可以使用 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');
解决方案
数据库会话并不是一个好主意,因为您不能每次都通过查询数据库来检查会话,太多昂贵的操作并且您的数据库很可能总是满的。我使用这种架构在我的一个项目中实现了 SSO。它相当简单易懂。您可以使用 iframe 并拥有 SSO 域来实施 SSO。 https://yoyodesign.com/thoughts/knowledge/2013/may/single-sign-on-a-proof-of-concept/
推荐阅读
- r - 是否有检索文件目录的完整路径的功能?
- angular - BehaivorSubject 不保留数组和重复
- node.js - 离子侧边菜单的安装导致“zliberror:zlib:文件意外结束”
- apache - 重定向每个页面,无论嵌套多深到同一域上的单个页面
- r - 如何检查 R 中的 XML 节点集是否为空?
- javascript - 参数的 URL?jQuery、Ajax、JSON
- xamarin.forms - 退出和返回时如何清除页面上的键盘焦点?
- php - 为什么这个简单的递增数字代码不起作用?
- javascript - 如何选择使用 jQuery 添加的元素?
- php - 检查 PHP 7+ 中的类型错误