Кросс-доменные файлы cookie с jQuery и jQuery Cookie

У меня есть веб-сайт, который открывает модал при посещении сайта. У человека есть несколько вариантов с модалом. Если они выбирают определенную опцию, создается сессионный cookie.

Вот код, который я использую, чтобы проверить наличие cookie и запустить функцию, основанную на этом:

$(function() {
  if($.cookie('my-cookie') === undefined) { 
    $('#modal').foundation('reveal', 'open');
  }
  $( ".close-modal" ).click(function() {
    $('#modal').foundation('reveal', 'close');
    $.cookie('my-cookie', '1', {path:'/'});
  });
});

У меня также есть другой домен, который я хотел бы проверить, существует ли этот файл cookie. Насколько я понимаю, нет возможности читать файлы cookie других доменов, даже если я владею этим доменом и контролирую его.

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

Также я использую размещенную CMS, поэтому я не могу использовать серверный код. Я использую jQuery Cookie на обоих доменах и использую jQuery 2.1.

1 ответ

Решение

Вы можете читать куки на поддомене того же домена, но никогда не на совершенно разных доменах. Это совершенно намеренно, и если бы можно было обойти это, это открыло бы шлюз вопросов конфиденциальности. Обычно вы можете обойти это, передав идентификатор сеанса или другой токен аутентификации через URL в другой домен, но если вы не можете использовать код на стороне сервера, который не будет безопасным.

Другие вопросы по тегам