iproger
@iproger
Безответственный гений

Как передать сессию с домена на домен?

План был такой: на 1 сайте добавил в корзину, на 2 сайте тоже видешь товар.
Реализация:
При заходе на 1 сайт js делает запрос на нужный урл и получает id сессии текущего юзера на другом сайте. НО, не тут-то было. Запрашиваемая js-сом сессия каждый раз разная.

Файл, отдающий сессию:
$session_id = session_id();
		
		if ($session_id) {
			$res = array(
				'session_id'=>session_id()
			);
			header('Access-Control-Allow-Origin: *');
			echo json_encode($res);
		}

Как получить id сессии на другом сайте для текущего юзера?

p.s. оба сайта на 1 серваке.
  • Вопрос задан
  • 3764 просмотра
Решения вопроса 1
session_id каждый раз разный, потому что сессия каждый раз стартует заново. Это из-за того, что при CORS запросах куки (в том числе сессионные) не передаются по дефолту. Чтобы передавались, нужно 1) у XMLHttpRequest установить withCredentials = true и 2) в Access-Control-Allow-Origin явно указать домен, с которого разрешён запрос, "*" не работает из соображений безопасности.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы