Я создал скрипт для автоматической загрузки файла, созданного приложением, которое отправляет уведомление по электронной почте пользователю при его создании. Этот сценарий входит в систему, затем выполняется второй раз с некоторыми элементами сеанса, установленными на хост-сайте, и может загрузить файл.
Недавно хост-сайт создал обновление с некоторыми дополнительными проверками, и так как мой скрипт не работал. Я реализовал все, что связано с обновленным процессом проверки, чтобы в основном гарантировать, что атаки XSS смягчены, но я столкнулся с дорожным блоком, где теперь набор значений GUID больше не находится в «Set-Cookie:».
Сначала я делаю GET на страницу входа, чтобы получить уникальные значения для этой попытки.
$url = "https://loginurl.com/";
$options = array(
'https' => array(
'header' => "",
'method' => 'GET',
'content' => "",
),
);
$post_context = stream_context_create($options);
$post_raw_result = file_get_contents($url, false, $post_context);
$unique_headers = $http_response_header;
Я назначаю http_response_header и затем выбираю некоторые значения, которые мне нужны, но он не содержит всех файлов cookie, которые я вижу в браузере.
Я работал с curl, выполняя curl из shell_exec () и последние несколько недель, и file_get кажется мне лучшим вариантом, но у меня нет идеала, почему я больше не могу видеть эти элементы GUID .. Я вижу их в Chrome или Mozilla при проверке связи. Я подумал, что это может быть что-то с несколькими куки, и попробовал несколько вещей, таких как:
$cookies_array = array();
foreach($http_response_header as $s)
{
if (preg_match('|^Set-Cookie:\s*([^=]+)=([^;]+);(.+)$|', $s, $parts))
{
$cookies_array[] = $parts[1] . '=' . $parts[2];
}
}
найдено здесь и в нескольких других темах для похожих вопросов, но, похоже, эта информация не содержит никакой дополнительной информации.
Мне посчастливилось найти больше данных, проверив $ _COOKIE, но все еще не содержал 2 из необходимых мне значений GUID.
Я даже перешел к почтальону и увидел там те же файлы cookie, которые я не могу записать с помощью php. Любые идеи, почему они не будут в http_header_response или где еще искать?