Копирование файлов cookie между доменами, почему IE блокирует файлы cookie, отправляемые другими браузерами с тегом SCRIPT - PullRequest
3 голосов
/ 19 апреля 2010

Попытка скопировать файл cookie с сайта second.com на first.com с полным контролем обоих доменов.

Ранее использовался iFrame, однако он не может работать во всех браузерах, поскольку он затрагивал «сторонние файлы cookie», которые сложно внедрить и невозможно в Safari и Chrome.

В новом подходе используется тег SCRIPT, указывающий на second.com и включенный в HEAD of first.com. Сценарий на стороне сервера на самом деле представляет собой фрагмент Java, который считывает файлы cookie, отправленные с запросом (файлы cookie с сайта second.com), а возвращаемый JavaScript-код выполняется на сайте first.com и, по сути, здесь дублирует файл cookie. Это прекрасно работает во всех браузерах, кроме IE, где IE, похоже, не отправляет куки second.com с запросом SCRIPT, поэтому Java не может получить значение cookie с сайта second.com.

Это, безусловно, связано с настройками безопасности IE, когда я ставлю конфиденциальность на самый низкий уровень, на котором она работает, но у меня вопрос: почему cookie-файлы вообще блокируются? Я думал, что тег SCRIPT не подчиняется той же политике происхождения (которой должны соответствовать AJAX и другие технологии).

Есть ли какое-либо решение без указания маршрута политики конфиденциальности P3P?

1 Ответ

3 голосов
/ 20 апреля 2010

Это определенно настройки безопасности IE, если вы пытаетесь это сделать, вам нужно установить компактную политику конфиденциальности P3P на странице, которая устанавливает cookie на first.com, даже до того, как вы перейдете на second.com

...