与 Javascript 分享 PHP 会话

Share PHP session with Javascript

我有一个 PHP 应用程序,可以为我正在创建的社交媒体应用程序呈现 HTML 页面。然后,JavaScript 初始化并使事物具有交互性。 PHP 方面使用 curl 登录到单独的网络服务。

现在,我想不出一种方法来与 JavaScript 共享 PHP 中开始的会话,所以当我在 JavaScript 中发出 AJAX 请求时到数据服务器,它已通过身份验证。

有没有办法与 JavaScript 共享 PHP 会话?或者将最初使用 PHP 创建的身份验证与 JavaScript?

共享

你可以通过JavaScript读出PHP设置的session cookie(我猜是SID),其中包含session ID。 进行查询时,使用

http://example.com/?sid=SessionID

我会说听起来您的体系结构有问题。在我看来,Web 服务器本身应该是唯一向 client/browser 提供数据的对等方。这只是两方对话。

当试图从浏览器访问 third-party 服务器时,您违反了浏览器 Same-Origin 政策,除非您通过明确设置各种请求和响应 headers 来明确允许 CORS。 - 你只会在非常特殊的情况下这样做。

最好的解决方案可能是在 Web 服务器上创建代理服务,浏览器可以直接(在本地)访问它。然后 Web 服务器可以(作为控制器)将 data-request 转发给数据服务器(模型),最后 return 将响应转发给浏览器(视图)。