Как установить куки для другого домена
скажем у меня есть сайт под названием a.com, и когда загружается конкретная страница этого сайта, скажем, ссылка на страницу, мне нравится устанавливать cookie для другого сайта под названием b.com, а затем перенаправить пользователя на b.com.
Я имею в виду, на нагрузке a.com/link Я хочу установить cookie для b.com и перенаправить пользователя к b.com.
я протестировал его, и браузер фактически получил cookie от a.com/link, но он не отправил этот файл cookie на запрос перенаправления в b.com. Это нормально?
можем ли мы установить куки для других доменов?
8 ответов:
вы не можете установить куки для другого домена. Разрешение этого будет представлять собой огромный недостаток безопасности.
вам нужно получить b.com чтобы установить куки. Если a.com перенаправить пользователя на
b.com/setcookie.php?c=valueсценарий setcookie может содержать следующее, Чтобы установить cookie и перенаправить на правильную страницу b.com
<?php setcookie('a', $_GET['c']); header("Location: b.com/landingpage.php"); ?>
похоже на верхний ответ, но вместо перенаправления на страницу и обратно, что приведет к плохому пользовательскому опыту, вы можете установить изображение на домене A.
<img src="http://www.example.com/cookie.php?val=123" style="display:none;">а потом на домене B то есть example.com в печенье.php у вас будет следующий код:
<?php setcookie('a', $_GET['val']); ?>Hattip to Шубин
установка cookies для другого домена невозможна.
Если вы хотите передать данные в другой домен, вы можете закодировать это в url.
a.com -> b.com/redirect?info=some+info (and set cookie) -> b.com/other+page
в случае, если у вас есть
a.my-company.comи простоa.comиb.comвы можете оформить cookie для.my-company.comдомен-он будет принят и отправлен в оба домена.
посмотреть RFC6265:
агент пользователя будет отклонять файлы cookie, если атрибут домена указывает область для файла cookie, которая будет включать источник сервер. Например, агент пользователя примет файл cookie с именем Доменный атрибут "example.com-или ... foo.example.com" от foo.example.com, но агент пользователя не примет файл cookie с именем Доменный атрибут "bar.example.com-или ... baz.foo.example.com".
Примечание: Для по соображениям безопасности многие агенты пользователей настроены на отклонение Атрибуты домена, соответствующие "публичным суффиксам". Например, некоторые агенты пользователей будут отклонять атрибуты домена " com " или "co.uk". (См. раздел 5.3 дополнительные сведения.)
но вышеупомянутый обходной путь с изображением / iframe работает, хотя это не рекомендуется из-за его небезопасности.
вы не можете, но... Если у вас есть обе страницы, то...
1) Вы можете отправить данные через запрос params (http://siteB.com/?key=value)
2) Вы можете создать iframe сайта B внутри сайта A, и вы можете отправлять почтовые сообщения из одного места в другое. Поскольку сайт B является владельцем куки-файлов сайта B, он сможет установить любое значение, которое вам нужно, обработав правильное сообщение. (Вы должны запретить другим нежелательным отправителям отправлять вам сообщения! это вам и механизм, который вы решили использовать, чтобы предотвратить это)
Comments