camka
не самка
IE и установка cookie из подключаемого файла.
Файлы располагаются соответственно на домейнах auth.my и marazm.my
Захожу на marazm.my/test.php, смотрю посылаемые заголовки
Делаю рефрешь
То есть куки не передаются при втором запросе к яваскрипт файлу, хотя при первом запросе явно видно, что они устанавливаются.
Перепробовал уже все методы. Ставил время жизни, домен, путь для кук. Ничего не помогает. Пытался использовать удаленные сервера а не виртуальные домены на локалхосте - не получается. В Опере и Мозилле все проходит на ура.
В чем может быть причина подобного поведения ИЕ?
-~{}~ 18.10.05 13:29:
Если напрямую вызвать скрипт с http://auth.my/test.js.php дважды, то второй раз куки успешно отсылаются.
Попробовал www.auth.my в надежде, что, возможно, ИЕ не любит домены высшего уровня. Не прошло.
-~{}~ 18.10.05 13:52:
Подстановка картинки, вместо яваскрипта также не спасла ситуацию.
-~{}~ 18.10.05 17:13:
в то же время, на том же браузере успешно передаются куки для разных счетчиков. То есть, зашел на страницу, там подгружается счетчик в виде изображения. Он устанавливает куку и тут же перезагружается с помощью Location. В этом следующем запросе кука успешно передается серверу.
Обнаружилось, что даже если указать явно время жизни куки, то ИЕ не создает файла на диске для этой куки. То есть он ее просто игнорирует.
PHP:
===== test.js.php ========
<?php
header("Content-Type: application/x-javascript");
setcookie('Kuku', '1');
?>
======================
===== test.php ==========
<script src="http://auth.my/test.js.php?rnd=<?= mt_rand(0,9999999)?>"></script>
======================
Захожу на marazm.my/test.php, смотрю посылаемые заголовки
Код:
GET /test.php HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: marazm.my
Proxy-Connection: Keep-Alive
HTTP/1.1 200 OK
Server: Apache/1.3.33 (Win32) PHP/5.0.5
Content-Type: text/html
GET /test.js.php?rnd=1992751 HTTP/1.1
Referer: [url]http://marazm.my/test.php[/url]
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: auth.my
Proxy-Connection: Keep-Alive
HTTP/1.1 200 OK
Server: Apache/1.3.33 (Win32) PHP/5.0.5
Set-Cookie: Kuku=1
Content-Type: application/x-javascript
Код:
GET /test.php HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: marazm.my
HTTP/1.1 200 OK
Server: Apache/1.3.33 (Win32) PHP/5.0.5
Content-Type: text/html
GET /test.js.php?rnd=6736195 HTTP/1.1
Referer: [url]http://marazm.my/test.php[/url]
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: auth.my
HTTP/1.1 200 OK
Server: Apache/1.3.33 (Win32) PHP/5.0.5
Set-Cookie: Kuku=1
Content-Type: application/x-javascript
Перепробовал уже все методы. Ставил время жизни, домен, путь для кук. Ничего не помогает. Пытался использовать удаленные сервера а не виртуальные домены на локалхосте - не получается. В Опере и Мозилле все проходит на ура.
В чем может быть причина подобного поведения ИЕ?
-~{}~ 18.10.05 13:29:
Если напрямую вызвать скрипт с http://auth.my/test.js.php дважды, то второй раз куки успешно отсылаются.
Попробовал www.auth.my в надежде, что, возможно, ИЕ не любит домены высшего уровня. Не прошло.
-~{}~ 18.10.05 13:52:
Подстановка картинки, вместо яваскрипта также не спасла ситуацию.
-~{}~ 18.10.05 17:13:
в то же время, на том же браузере успешно передаются куки для разных счетчиков. То есть, зашел на страницу, там подгружается счетчик в виде изображения. Он устанавливает куку и тут же перезагружается с помощью Location. В этом следующем запросе кука успешно передается серверу.
Обнаружилось, что даже если указать явно время жизни куки, то ИЕ не создает файла на диске для этой куки. То есть он ее просто игнорирует.