gpt4 book ai didi

php - PHP API 无法识别 IOS HTTPCookie

转载 作者:行者123 更新时间:2023-11-30 12:31:04 24 4
gpt4 key购买 nike

我正在对我的用户进行身份验证,然后向他们每个人发送一个唯一的 cookie,我将存储该 cookie 到服务器端和客户端。为了向我的 API 提供一定程度的安全性,我使用该 cookie 将每个请求发送到我的 api。我在 IOS 上设置了 cookie,如下所示

let cookie = HTTPCookie(properties: [HTTPCookiePropertyKey.originURL : apiURL, HTTPCookiePropertyKey.name : 
cookie_name, HTTPCookiePropertyKey.value : cookie_value, HTTPCookiePropertyKey.path : "/"])

HTTPCookieStorage.shared.setCookie(cookie)

我 100% 确定我设置 cookie 的方式是完美的。我在以前的应用程序中已经做到了......只是从未在另一端使用 PHP API。唯一的问题是我的 PHP API 无法识别 cookie...

我正在这样检查:

if($_COOKIE['cookie_name'] != ''){ }

当我尝试从 Postman(一个允许传递 cookie 的 google chrome 扩展)调用 API 时,它工作正常,并且我的 php 脚本可以识别 cookie。当我尝试从移动设备调用电话时,每次都会收到未经授权的访问,因为 PHP API 无法识别已传递​​的 cookie...

我之所以确信自己正确创建并传递了 cookie,是因为我在所有 Ruby on Rails 应用程序中都以相同的方式执行此操作...

有什么建议吗?

最佳答案

这样检查

let cookie = HTTPCookie(properties: [HTTPCookiePropertyKey.originURL : apiURL, HTTPCookiePropertyKey.name : 
cookie_name, HTTPCookiePropertyKey.value : cookie_value, HTTPCookiePropertyKey.path : "/"])

HTTPCookieStorage.shared.setCookie(cookie)


if($_COOKIE['cookie'] != ''){ }

cookie 的名称不是 cookie 名称,而是 cookie,如下行

// (cookie) = cookie name
HTTPCookieStorage.shared.setCookie(cookie)

所以这就是你应该检查的方式

if($_COOKIE['cookie'] != ''){ }

关于php - PHP API 无法识别 IOS HTTPCookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43554781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com