копирование куки на другой домен - PullRequest
0 голосов
/ 13 мая 2009

У меня есть пользовательские настройки (цвет, настройки локали) на example.com, которые я хотел бы перенести на example2.com

Мне интересно, могу ли я использовать AJAX или скрытый iFrame для передачи информации о cookie-файлах с example.com на example2.com, который затем установит другой cookie-файл с той же информацией на example2.com.

Я знаю, что мог бы легко сделать это с помощью строки URL-адреса и перенаправления, но я хотел бы добиться этого в фоновом режиме, если это возможно - без перенаправлений - и должен работать в основных браузерах (IE6 +, FF1.5 + , Сафари, опера)

Суть в том, что эта информация о файлах cookie не защищена, поэтому здесь нет риска.

Ответы [ 4 ]

2 голосов
/ 13 мая 2009

Зависит от настройки браузера для начинающих, если браузер настроен на отклонение сторонних куки, вам не повезло.

Предполагая, что вы контролируете example.com, и cookie - это не только cookie HTTP, вы можете добавить скрипт. Сценарий будет записывать тег img, указывающий на сценарий на example2.com, с параметром document.cookies. Внутри скрипта напишите прозрачный gif 1x1 и прикрепите файл cookie из примера к ответу, проанализировав строку параметра, чтобы извлечь пары имя / значение файла cookie.

1 голос
/ 13 мая 2009

Настройка пути на example.com, который генерирует файл javascript, содержащий переданные файлы cookie. Допустим, это example.com/get_cookie.js

Затем вы можете сделать ajax-вызов с example2.com на example.com/get_cookie.js, чтобы получить эти куки и сохранить их в example2.com.

Поскольку это междоменный домен, вы не можете использовать XHR (XmlHttpRequest), вместо этого вы добавите get_cookie.js в качестве узла javascript, и этот файл javascript должен вызвать обратный вызов для передачи вам данных.

Так что get_cookie.js будет выглядеть примерно так:

return_data( 'here is my example.com cookie info' );
0 голосов
/ 13 мая 2009

Рассматривали ли вы использование Flash Cookies для сохранения этих настроек? Работа со всеми основными браузерами включает в себя хром.

http://www.ghacks.net/2007/05/04/flash-cookies-explained/

0 голосов
/ 13 мая 2009

Вам нужно будет сделать межсерверный запрос XMLHTTP, и второй сервер заново создаст файлы cookie. Вы не можете "передать" их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...