IE6 и кукисы:) быть или не быть

AlexKar

Новичок
IE6 и кукисы:) быть или не быть

В IE 6 никак не хотят устанавливаться кукисы. Прежде чем постить эту тему я облазил
множество форумов и различных сайтов, этот trouble поднимается очень часто, но
нигде я не смог найти окончательного ответа, который бы работал у меня.
Вся проблема заключается в ведении мелгомягкими новой P3P policies, по сути дела
это фильтр кукисов, на ихнем:) этот механизм описан, но как его обойти, четкого
ответа нет, отправка хедера header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
перед установкой куков не помогает. Please, подскажите че-нибудь, а то мне нужно
отладить сайт под этот долбанный 6-ой Explorer.

Такие варианты как:

PHP:
setcookie("userid",$userid,time()+3600);
или

PHP:
function mgk_setcookie($sName,$sValue,$iExpire=false,
   $sPath="",$sDomain="",$bSecure=false,$bHttpOnly=true) {
   $sHeader = "Set-Cookie: $sName=$sValue";
   if ($sPath) { // optional
       $sHeader .= "; Path=$sPath";
   }
   if ($iExpire !==false || $iExpire !== 0 ) {
   // 0 check because of php setcookie function which
   // isn't entirely compattible with the rfc.
       $sHeader .= "; Max-Age=$iExpire";
   }
   if ($sPath) { // optional
       $sHeader .= "; Path=$sPath";
   }
   if ($sDomain) { // optional
       $sHeader .= "; Domain=$sDomain";
   }
   if ($bSecure) { // optional
       $sHeader .= "; Secure";
   }
   if ($bHttpOnly) { // IE6 only attribure
       $sHeader .= "; HttpOnly";
   }
   $sHeader .= "; Version=\"1\""; // not sure if i use the right version
   header($sHeader);
}
if(!isset($_COOKIE["userid"]))
   header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
   mgk_setcookie("userid",23,time()+3600,"/","localhost");
или

PHP:
<HEAD>
<?php
 if(!isset($_COOKIE["userid"])){
      $date=date()+3600;
      echo "<META HTTP-EQUIV='Set-Cookie' CONTENT='userid=$userid; EXPIRES=$date;'>";
 }
?>
</HEAD>
работают везде(Opera,Mozilla), но не в IE6:), кстати конфиденциальность настроена на пропуск
всех кукисов.
 

Tor

Новичок
6.0.2800.1106, первый вариант установки куков - полет нормальный
 

Фанат

oncle terrible
Команда форума
1. с какого сайта ставятся куки? с того, который открывается в браузере?
2. нельзя липриводить здесь сами куки, а не пхп код?
 

Breeze

goshogun
Команда форума
Партнер клуба
Скажу еще строго свое наблюдение ИЕ6 и куков:

пару раз создавались во внутренней сети имена сайтиков, которые содержали символ "_". В этом случае ИЕ6 почему-то отказывался воспринимать любые куки, даже сессионные, которые ставил php. Политику безопасности ИЕ6 делали максимально доброй.
 

AlexKar

Новичок
Дома вообще нет Explorer'а, Linux стоит, а на работе я проверял на IE 6.0.2900.2180 xp_sp2

to Фанат:
1. да, куки должны ставится с сайта, который открывается в IE
2. не совсем понял, ну ввобщем надо сохранить у пользователя нескольно переменных (userid и login), которые будут использоваться для последующей автоматической авторизации пользователя.
 

Фанат

oncle terrible
Команда форума
1. если куки ставятся с того же сайта, который запрашивает браузер, то никакие пляски с бубном вокруг P3P не нужны.

вообще, насколько я понимаю, все твои проблемы от многих знаний.
зачем тебе такой большой и страшный код установки кук, если обычно требуется всего одна короткая строчка?

2. не совсем понял,
объясняю.
кука - это НТТР заголовок (если ты, вдруг не знаешь).
Вот прежде, чем даже обращаться на форум, этот заголовок надо сначала посмотреть.

почему-то слепых водителей не бывает.
архитекторов - тоже.
а программистов, которые даже не удосуживаются посмотреть - что там такого их код наваял - пруд пруди.
 

AlexKar

Новичок
to Фанат: полностью с тобой согласен, но первое на что я смотрел, это и был заголовок, я смотрел есть ли там информация об установке куков, он был примерно такой:

HTTP/1.1 200 OK
Date: Thu, 13 Apr 2006 14:57:04 GMT
Server: Apache/2.0.49 (Win32) PHP/4.3.5
X-Powered-By: PHP/4.3.5
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Set-Cookie: userid=23; expires=Thu, 13-Apr-2006 15:57:04 GMT
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=WINDOWS-1251

соответственно Set-Cookie задано, получаемый в итоге результат непонятен - userid не сохраняется
 

AndrewVP

Новичок
А у тебя в конфиденциальности куки разрешены???? У меня IE именно той сборки, что у тебя и все работает как часы!

<HEAD> Зачем перед кукой выводишь???? тыж уже заголовок отправил, какая теперь кука????? куки идут ПЕРЕД выводом!!!!
 

AlexKar

Новичок
УсЁ:)), всем спасибо, это был глобальный глюк Internet Explorer'а, после его обновления вроде бы все заработало
 
Сверху