powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как получить ID сессии
2 сообщений из 2, страница 1 из 1
Как получить ID сессии
    #39864642
Amirer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вопрос

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

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

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

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?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>'
);
?>



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

скрипт http://TestDomen2.com/GetData.php (пример)
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?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;  
?>


скрипт http://TestDomen1.com/pContent.php (пример)
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?php
header('Content-Type: text/html; charset=utf-8');
session_start();
if (isset($_SESSION)) { 
  var_dump($_SESSION);
}   
else {
  echo 'session empty';  
}
?>


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

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

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

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

Как в данном случае получить в http://TestDomen1.com/pContent.php
SID сессии открытой в http://TestDomen1.comp/Site.php ?
...
Рейтинг: 0 / 0
Как получить ID сессии
    #39869604
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем собственно вопрос? Как передать данные? Или задачка аля "Найдите у меня ошибку в коде"? Можно было гораздо кратко изложить проблему. Я так понимаю, вопрос только в том, почему используя сессии, теряется собственно сессия.
Добавь куки в курл и будет тебе счастье.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как получить ID сессии
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]