Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > JS не устанавливает cookie.domain


Автор: lat 28.11.2010, 19:44
Код

<script type="text/javascript">
<!--
function Set_Cookie( name, value, expires, path, domain, secure )
{
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires )
    {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name + "=" +escape( value ) +
        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
        ( ( path ) ? ";path=" + path : "" ) +
        ( ( domain ) ? ";domain=" + domain : "" ) +
        ( ( secure ) ? ";secure" : "" );
}

Set_Cookie( 'name', 'value', '', '/', 'test.ru', '');
//-->
</script>

При таком раскладе кукис на ложится в браузер, а вот если вызвать просто
Код

Set_Cookie( 'name', 'value', '', '/', '', '');

то кукис создается.

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

Автор: bars80080 28.11.2010, 20:41
ну вообще-то ты не можешь создать куки на домен не из-под которого была открыта страница

Автор: lat 28.11.2010, 20:54
Откуда такое ограничение и как его обойти?

Автор: c0va23 28.11.2010, 22:11
Цитата(lat @ 28.11.2010,  20:54)
Откуда такое ограничение и как его обойти?

Это ограничение безопасности браузеров, что бы нельзя было менять и читать куки других доменов. Это не как не обойти. Можно менять куки только текущего домена и ниже по уровню. Например, если страница открыта на домене test.ru, то можно менять куки для домена test.ru, и все ниже уровнем, такие как www.test.ru, username.blog.test.ru и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)