Как получить ID сессии?

111
01 августа 2021, 00:30

С сайта TestDomen1.com, который я обслуживаю нужно выполнить скрипт (TestDomen1.comp/Site.php), который обращается к стороннему ресурсу TestDomen2.com для передачи данных с TestDomen1.com

Ресурсы TestDomen2.com и TestDomen2.com расположены на разных доменах и на разных серверах.

скрипт TestDomen1.comp/Site.php (пример)

<?php
header('Content-Type: text/html; charset=utf-8');
session_start();
$_SESSION['a']=10;
var_dump($_SESSION['a']);
echo '<br>';
exit(
'<a href="http://TestDomen2.com/GetData.php">вернуть контент с помощью Curl</a>'.
'<br>'.
'<a href="http://TestDomen1.com/pContent.php">вернуть контент</a>'
);
?>

Известно, что скрипт TestDomen2.com/GetData.php выполняет загрузку контента, с помощью библиотеки Curl, подготовка которого, выполняется скриптом TestDomen1.com/pContent.php например так:

скрипт TestDomen2.com/GetData.php (пример)

<?php
  header('Content-Type: text/html; charset=utf-8'); 
  $curlh = curl_init();
  $url = 'http://TestDomen1.com/pContent.php';
  $postdata = array('123');
  curl_setopt($curlh, CURLOPT_URL, $url);
  curl_setopt($curlh, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curlh, CURLOPT_POST, 1);
  curl_setopt($curlh, CURLOPT_POSTFIELDS, http_build_query($postdata));
  $out = curl_exec($curlh);
  curl_close($curlh);
  echo $out;  
?>

скрипт TestDomen1.com/pContent.php (пример)

<?php
header('Content-Type: text/html; charset=utf-8');
session_start();
if (isset($_SESSION)) { 
  var_dump($_SESSION);
}   
else {
  echo 'session empty';  
}

При загрузке контента посредством скрипта TestDomen2.com/GetData.php теряется содержимое сессии определенное в TestDomen1.comp/Site.php

скрипт TestDomen2.com/GetData.php не доступен для редактирования (создал грубый пример) т. е. передать SID в этот скрипт curl_setopt($curlh, CURLOPT_COOKIE, 'PHPSESSID='.session_id()); не возможно.

Использование глобальной сессии также нежелательно т.к. текущие данные сессии могут быть переписаны.

Данные из сессии, которая стартует в TestDomen1.comp/Site.php нужны для организации аудита операций, выполняемых при обработке данных контента, скриптом TestDomen1.com/pContent.php

Как в данном случае получить в TestDomen1.com/pContent.php SID сессии открытой в TestDomen1.comp/Site.php ?

Answer 1
<?php
session_start();

$name=session_id();
print_r($name);
?>
READ ALSO
Задать для двух доменов одну директорию

Задать для двух доменов одну директорию

Добрый на сервере VDS сайт работает через связку nginx + apacheПоявилась задача добавить еще один домен для текущего сайта

117
Игра &ldquo;Загадки&rdquo; на PHP

Игра “Загадки” на PHP

Друзья,у меня стоит веб-сервер OpenServerХочу на нём протестировать свой сайт

111
Как передать методом текст поля формы?

Как передать методом текст поля формы?

Есть поле, которое скрытоПри этом, помимо того, что оно скрыто, нужно, чтобы пользователь не мог его изменить даже путём изменения кода страницы

179