Ie6 и кукисы:) быть или не быть
множество форумов и различных сайтов, этот trouble поднимается очень часто, но
нигде я не смог найти окончательного ответа, который бы работал у меня.
Вся проблема заключается в ведении мелгомягкими новой P3P policies, по сути дела
это фильтр кукисов, на ихнем этот механизм описан, но как его обойти, четкого
ответа нет, отправка хедера header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
перед установкой куков не помогает. Please, подскажите че-нибудь, а то мне нужно
отладить сайт под этот долбанный 6-ой Explorer.
Такие варианты как:
setcookie("userid",$userid,time()+3600);
или
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");
или
<HEAD>
<?php
if(!isset($_COOKIE["userid"])){
$date=date()+3600;
echo "<META HTTP-EQUIV='Set-Cookie' CONTENT='userid=$userid; EXPIRES=$date;'>";
}
?>
</HEAD>
работают везде(Opera,Mozilla), но не в IE6, кстати конфиденциальность настроена на пропуск
всех кукисов.
Ie standalone или нормальный? Если стендэлон тогда забей, тоже такой трабл был, правда с более ранним ie, но в нормальном ie все работает хорошо.