php - Unity 是否支持 PHP session ?

标签 php unity3d

有谁知道 Unity 是否支持 PHP session ?

例如,假设用户在 Unity 中登录他们的帐户并通过 WWW 流提交登录信息。登录后,我在我的 php 脚本中分配一个 session 变量:$_SESSION['name]=name

我的问题是,当用户通过 Unity 提交另一个请求时,客户端是否仍然能够访问 session 变量?

最佳答案

session 数据是来自连接到一个id的数据库的数据,用于客户端和服务器之间的通信。通常是一个 cookie。

我不能肯定地说,但我非常相信 WWW 类会忽略/忘记 cookie。

  1. Unity 向 PHP 发送请求(仅包含您定义的数据)
  2. PHP 设置与该 session 对应的 cookie 并响应请求
  3. Unity 获取带有 header 的响应(以及 header 中的 cookie)
  4. 重复

请注意:我没有对此进行测试,这是理论上的,但有根据的猜测。


建议的解决方案

您可以在您在 Unity 中构建的请求中设置 header 。如果您每次保存响应中的 header 并将其添加到请求中,您应该能够模拟您正在寻找的行为。所以基本上:

  1. Unity 向 PHP 发送一个请求(带有 headers = previousResponseHeaders)
  2. PHP 读取 header 并将您的 cookie 连接到之前的 session 并响应请求
  3. Unity 获取带有 header 的响应(以及 header 中的 cookie)
  4. 重复

您可以通过类似 this 的操作来设置标题:

var headers = new Dictionary<string,string>();
headers.Add("Cookie", "key=value; semicolon=separated");
WWW www = new WWW("https://example.com", null, headers);

关于php - Unity 是否支持 PHP session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56328316/

相关文章:

c# - GameObject 的跟随领导者/蜈蚣问题

c# - 如何检查设备是否已在 Unity 中的所有轴上旋转

php - "A server timeout has occurred"将 Dreamweaver 连接到 MySQL 时出错

javascript - 带有 AngularJS 的 PHPMailer

php - 使用 array_filter 时意外的 php 通知和警告

.net - 无法加载调试符号 VS2017 - Unity .NET 4.X

c# - 如何通过 Unity 使用 WebGL/C# 在新选项卡上打开链接?

c# - 从 Unity 中的脚本关闭脚本

php - 只获取网站的相关部分

PHP、.htaccess、DDoS 和快速请求保护