php - 为什么在php中通过ajax请求时session id会改变?

标签 php ajax session session-cookies

我已登录 Banana.com。 Banana 在 /app/ajax_loggedin 上有一个 api 链接。

我的网站是 Monkey。 Monkey 对 banana 的 /app/ajax_loggedin 运行一个简单的 GET json,返回 1 或 0 的登录值。

为什么当它通过 ajax 时总是返回 0,即使我真的在 Banana 上登录并且直接访问链接时也返回 1。 Banana 的开发人员如何修复它?

如果它是服务器端调用,我会理解它,但我不明白为什么它不告诉我我是否登录,如果 Banana 发出请求。运行 session_id() 检查,它会在每次通过 ajax 调用时生成一个新的,当直接访问时它工作正常并保持不变。

是否有任何修复或其他方法可以做到这一点?

最佳答案

每个入口点或对服务器 (API) 的调用都需要以 session_start() 开头。如果它没有读入 session 标识符,它就好像没有 session 标识符一样,然后返回一个新的 session 标识符。当您的浏览器收到响应时,它将用新的标识符覆盖 session 标识符。确保在调用服务器的所有位置的顶部都有 session_start(),以便它知道要使用哪个 session 。

关于php - 为什么在php中通过ajax请求时session id会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31163030/

相关文章:

javascript - 如何使用 ajax 和 json 将图像呈现为下拉列表?

javascript - 服务器上的 session 管理 HTML 客户端和 PHP

python - 获取 session 的 Quickblox 收到 "Unexpected signature"错误

php - 如何确定连接到 LDAP (PHP) 的 tls/ssl 安全协议(protocol)版本?

php - Arduino 传感器读取不使用 phpmyadmin 和 xampp 上传到 mySql

javascript - 使用 PHP 进行 MySQL 查询并将数据发送到 JavaScript

php - Cookie session 驱动程序不会保存任何验证错误或闪存数据

php - 使用 Alamofire 请求 Web API 时出现重定向错误 301 和 302

php - 控制反转 : Have you ever had to decide what Dependency Injection framework is best for a project? 您选择了哪一个,为什么?

javascript - 如何通过在下拉列表中选择一个选项来从另一个 php 文件获取数据?