Поддерживает ли Unity сеансы PHP?

Кто-нибудь знает, поддерживает ли Unity сеансы PHP?

Например, предположим, что пользователь входит в свою учетную запись в Unity и отправляет информацию для входа через WWW-поток. После входа в систему я назначаю переменную сеанса в своем php-скрипте: $_SESSION['name]=name.

Мой вопрос: когда пользователь отправит другой запрос через Unity, сможет ли клиент по-прежнему получить доступ к переменной сеанса?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
0
510
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Данные сеанса — это данные из базы данных, подключенной к идентификатору, который используется для связи между клиентом и сервером. Обычно печенье.

Я не могу сказать наверняка, но я очень верю, что класс WWW будет игнорировать/забывать файлы cookie.

  1. Unity отправляет запрос (только с данными, которые вы определяете) в PHP
  2. PHP устанавливает cookie, соответствующий этому сеансу, и отвечает на запрос
  3. Unity получает ответ с заголовками (и куки в заголовках)
  4. Повторить

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: я не проверял это, это теоретические, но обоснованные предположения.


Предлагаемое решение

Вы можете установить заголовки в своем запросе, который вы создаете в Unity. Если вы сохраняете заголовки из ответа и каждый раз добавляете их в запрос, вы сможете эмулировать поведение, которое вы ищете. Итак, в основном:

  1. Unity отправляет запрос (с заголовками = previousResponseHeaders) в PHP
  2. PHP читает заголовки и подключает ваш файл cookie к предыдущему сеансу и отвечает на запрос
  3. Unity получает ответ с заголовками (и куки в заголовках)
  4. Повторить

Вы устанавливаете заголовки, делая что-то вроде это:

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

Хотя это должно работать, имейте в виду, что если файл cookie отправляется через http вместо https, его будет легко взломать. Итак, сначала вы должны обязательно обезопасить свой сайт. (Просто добавил это сюда, поскольку я увидел ваш другой вопрос о шифровании связи между Unity и вашей веб-вещью.)

Tamás Deme 28.05.2019 21:30

Другие вопросы по теме