我有一个PHP应用程序,它为我正在创建的社交媒体应用程序呈现HTML页面。然后,JavaScript初始化并使事物具有交互性。事情的PHP方面使用 curl 登录到单独的Web服务。
现在,我无法找到一种方法来分享使用JavaScript在PHP中启动的会话,因此当我用JavaScript向数据服务器发出AJAX请求时,会对其进行身份验证。
有没有办法与JavaScript共享PHP会话?或者使用JavaScript共享最初使用PHP创建的身份验证?
答案 0 :(得分:1)
我会说这听起来像你的架构有问题。在我看来,Web服务器本身应该是唯一向客户端/浏览器提供数据的对等体。这只是一场双方对话。
当尝试从浏览器访问第三方服务器时,您违反了浏览器同源策略,除非您通过显式设置各种请求和响应标头来明确允许CORS。 - 而且你只能在非常特殊的情况下这样做。
最佳解决方案可能是在Web服务器上创建代理服务,可以由浏览器直接(本地)命中。然后,Web服务器可以(充当控制器)将数据请求转发到数据服务器(模型),最后将响应返回给浏览器(视图)。
答案 1 :(得分:0)
您可以通过包含会话ID的JavaScript读出由PHP设置的会话cookie(我猜是SID)。 进行查询时,请使用
http://example.com/?sid=SessionID