我在SOF上看到了一些答案,但其中大多数都关注子域的使用,其中没有一个对我有用。常见的一个是session.cookie_domain
的使用,根据我的理解,它只适用于子域。
我对处理完全不同域名的交易(包括子域名的可能性)感兴趣。不幸的是,项目截止日期就是它们,时间不在我身边,所以我转向SOF的专业知识和经验。
当前的项目简介是能够登录到一个当前仅在会话中存储user_id
的站点,然后能够在同一服务器环境中的不同域上检索此值。正在从session id
是主键的数据库中存储/检索会话数据。
我希望找到一个“轻松”和“轻松”的解决方案。
系统正在使用内部模型视图控制器设计模式,因此所有请求(包括不同的域)都通过单个引导脚本运行。使用域名作为变量,这将确定要向用户显示的上下文。
看似有潜力的一个选项是使用隐藏图像并使用alt标记设置user id
。我的第一印象表明,这似乎“太容易”(如果可能的话)并且充满了安全漏洞。涉诉?
我考虑的另一个选项是使用IP和用户代理进行身份验证,但由于共享网络和更改IP地址,我觉得这不会是一个可靠的选择。
我考虑过但尚未见过的第三个选项(也是首选)是使用htaccess
来欺骗用户认为当inform apache重定向时他们在不同的域上;
www.foo.com/index.php?domain=bar.com&controller=news/categoires/1
但是以用户身份向用户显示
www.bar.com/news/categories/1
foo.com
代表所有请求都在其中运行的“主站点域”,而bar.com
是用户认为他们正在访问的内容。控制器请求指示所请求的页面和视图。这可能吗?
还有其他选择吗?优点/缺点?
提前致谢!!!
答案 0 :(得分:0)
您是否考虑过使用session_set_save_handler。您可以将会话存储在数据库中,并从任何域访问它们。
答案 1 :(得分:0)
定义主会话服务器(我与memcached结合使用)
使用Ajax / JSON(P)从此服务器请求会话,这允许您在多个域上共享会话
重复使用此会话
答案 2 :(得分:-3)
为了对任何对此功能感兴趣的人的利益,恐怕没有简单的答案。谷歌“单点登录”,它将返回技术和一些可用的解决方案。
至于使用htaccess来隐藏域名,这是不可能的,因为它可能被用于恶意活动。
我现在已经成功实施了一个系统来满足我的要求。