2009-03-24 4 views
6

Как настроить cookie в другом домене, который вызывает мой сайт с помощью javascript-вызова? Он работает в FF3, но не в IE6.Как установить файл cookie в отдельном домене в Rails

Мой сервер вызывается из тега javascript на отдельном сайте и в домене. Результат возвращает javascript, который заполняет свою страницу данными (это виджет). Я пытаюсь установить cookie, используя domain = ". Mydomain.com" и path = "/". Он работает для Firefox, но не работает в IE. Он отлично работает в IE, если я тестирую вызов javascript из своего собственного домена.

Кто-нибудь знает, как настроить перекрестный домен cookie для работы в IE, используя Rails?

ответ

9

Пока сервер устанавливает куки в пределах своего домена или субдомена его области, это должно работать

cookies[cookie_name] = { 
    :value => 'a value', 
    :expires => 1.year.from_now, 
    :domain => 'example.com' 
} 

Он не будет работать для других доменов.

Чтобы получить эту работу в IE6 вам может понадобиться правильный заголовок P3P политику

что-то вроде этого посылается как заголовок должен это сделать:

headers["p3p"] = 'CP="CAO PSA OUR"' 
+0

, который, как я установил его: печенье [cookie_name ] = {: value => 'x',: expires => 1.day.from_now,: domain => '.mydomain.com'} И да, это работает для firefox. Я на самом деле думал, что это не так, но это произойдет. Но в IE я вижу, что он пытается установить заголовок, но cookie не существует после загрузки страницы. – Zack

+0

Откуда вы знаете? Можете ли вы опубликовать свой код, в котором говорится, что cookie не существует? – DanSingerman

+0

Я использую Fidler для просмотра вызовов в моем домене и просмотра ответов заголовков. Я использую панель инструментов IE Developer, чтобы посмотреть куки на моей странице (и их), но она не существует. Я также пытаюсь захватить файл cookie, когда я вернусь на свой сайт, и его не существует. В FF все работает нормально. – Zack

Смежные вопросы