mishael
@mishael

Не устанавливается кука для домена в ИЕ11. Что делать?

<?
@$tmp = $_COOKIE['phpbb3test'];
header('Set-Cookie: phpbb3test='.time().'; expires=Tue, 11-Apr-2017 21:16:00 GMT; path=/; domain=.xt.ht; HttpOnly');

echo 'phpbb3test was '.$tmp.'<br> ';
echo 'Set-Cookie: phpbb3test='.time().'; expires=Tue, 11-Apr-2017 21:16:00 GMT; path=/; domain=.xt.ht; HttpOnly<br><br> PRESS F5';
?>


А вот сам файл - откройте в ИЕ и в нормальном браузере.
xt.ht/phpbb/1.php

Короче эта строка не устанавливает куку :(

Я гуглил багу, что кука не устанавливается при неправильной дате и времени. Но тут вроде как раз то что надо.

Эксперимент показал что в виде

header('Set-Cookie: phpbb3test=1111;    HttpOnly');


оно работает нормально.
И так тоже

header('Set-Cookie: phpbb3test=1111; expires=Tue, 11-May-2016 21:16:00 GMT; HttpOnly');


домен и путь все портят. Я проверил по RFC домен норм вроде (там подчеркивания не катят). Пробовал с точкой и без. Путь пробовал с /phpbb/ и правильный.

Че такое блин?

Да, на других доменах этот код работает я проверял :( Выносить из папки в корень проверял - не работает все равно.

винда восьмерка-64. ИЕ 11.0.9600

Проблема воспроизводится на других компах у других людей. Но на некоторых компах с 11 ИЕ под десятку все работает.
  • Вопрос задан
  • 459 просмотров
Решения вопроса 1
alsopub
@alsopub
Закинул я себе подобный скрипт и проверил в Win8 IE10.
Дату оставил как у вас сейчас, некорректную Tue, 11-May-2016 21:16:00 GMT
Визуально и ваш и мой скрипт устанавливает куку одинаково, однако IE10 моему скрипту куку передает, а вашему нет.
Сейчас из явных различий это название домена - у меня "обычный" домен - длинный и в зоне ru, а у вас очень короткий и в "странной" зоне .ht
Есть подозрение что дело именно в этом.
UPD. Только сейчас заметил что вы другие домены уже попробовали.
UPD2. Кажется ноги растут отсюда - https://support.microsoft.com/ru-ru/kb/310676 - "Internet Explorer does not set a cookie for two-letter domains". Это, конечно, про очень старые версии, но симптомы очень похожие, тогда Майкрософт советовала "do not use a domain name with less than three letters". То есть ваш домен рассматривается как потенциально TLD, типа .co.uk, отсюда и невозможность установить куки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы