在我的网站和 wordpress 博客之间共享会话
Posted
技术标签:
【中文标题】在我的网站和 wordpress 博客之间共享会话【英文标题】:Share session between my site and wordpress blog 【发布时间】:2012-07-06 16:45:10 【问题描述】:我想知道如何在同一个域 www.mysite.com 上的我的非 wordpress 网站和我的 wordpress 博客之间共享会话,这样当用户登录到我的网站时,他也登录到了博客
我在我的网站上安装了 wordpress 作为子目录,我网站的网址是 www.mysite.com,我访问 wordpress 就像这样 www.mysite.com/wordpressBlog
在我的主站点的 user_login.php 上,我激活了
session_start();
激活 cookie 并在我的 wordpress wp_unregister_GLOBALS() 上添加了
$no_unset = array('_SESSION', ...
但是什么都没有发生,当我登录到我的主站点时,我仍然需要登录到博客
事实上,我的网站和 wordpress 博客在同一个域上。我在我的网站 url 上安装了 wordpress 作为子目录,我的网站是 www.mysite.com,我像这样访问 wordpress www.mysite.com/wordpressBlog 在我的主站点的 user_login.php 上我激活了
session_start();
为了激活 cookie,我在 wordpress wp_unregister_GLOBALS() 上添加了 $no_unset = array( '_SESSION', ...
但是什么都没有发生,当我登录到我的主站点时,我仍然需要登录到博客
【问题讨论】:
【参考方案1】:为了能够在两个站点之间共享会话 cookie,它们必须在相同的域名下运行(例如 mysite.com)。如果会话 cookie 的范围为 mysite.com
,则以下将是有效配置
www.mysite.com
blog.mysite.com
PS。我不建议使用 Cross Scripting hacks 来解决这个域范围问题。出于安全原因,它仅限于一个域。
[编辑]
我还应该指出,拥有您的两个sub-domains (sites) hosted on different servers 是完全有效的
[编辑]
由于您使用的是非 WP 网站,因此很难为您的问题提供简洁的答案。我对您的最佳建议是在WordPress StackExchange 上发帖,在那里您可能会找到以前做过此配置的人。
我相信您的问题集中在 WP 的 Cookie 范围内。 Editing your wp-config.php and setting the COOKIE_DOMAIN 使用 "" 可能有助于解决 this WordPress StackExchange post 提到的问题。
有些帖子提到要完全删除此设置。在任何情况下,您都需要一种调试 HTTP 会话的方法,以查看使用哪个范围发送的 cookie,这就是我推荐 FireBug 的原因。在任何情况下,您仍然需要重新编码您的非 WP 网站以识别 WP cookie,因此了解正在发生的事情很重要。
我确实遇到过关于 Multisite Domain Mapping 的其他帖子,这可能有助于您了解知识,但这仅涉及 WP 网站,因此不完全符合您的需要。
【讨论】:
我同意@brad 如果不在同一个域中,请不要破解。可以将用户名与远程 SQL 同步 :) 它是否也适用于通用网络应用程序,还是有其他方法可以实现这一点? @SeeBeen“远程 SQL”是什么意思? 会话 cookie 可以由同一域中的任何 Web 应用程序共享。通过远程 SQL,我的意思是您可以从您网站上的 WP 博客数据库中提取 WP 用户信息。但是,如果它在同一个域上,您可以在本地提取必要的信息,而无需远程 SQL 是的,您可以同步密码或使用OpenID 管理您的密码 我仍然需要你的帮助。我被卡住了,不知道从哪里开始以上是关于在我的网站和 wordpress 博客之间共享会话的主要内容,如果未能解决你的问题,请参考以下文章
ANDROID : 在 Webview 和 httpclient 之间共享会话
Raspberry PI 和 Mac OSx 之间的屏幕共享 [关闭]