Хранение Cookie - PullRequest
       4

Хранение Cookie

4 голосов
/ 29 ноября 2010

Хорошо, так у меня есть 3 сайта. Все должны хранить куки, которые каждый сайт должен видеть. У меня есть один ASPX, который хранит этот файл cookie для всех 3 сайтов .. В основном, на каждой странице сайта есть javascript, который вызывает ASPX и заставляет его хранить куки. Если ASPX находится в одном домене и я загружаю aspx как изображение, почему каждый сайт не записывает в один и тот же файл cookie? По сути, позвольте мне разобрать это так.

X.com y.com z.com все существует

y.com / cookiesave.aspx также существует. Он пишет куки по имени Боб и устанавливает его в Guid, если он не существует ...

x.com, y.com и z.com на всех страницах в основном имеют JavaScript, который загружает изображение из y.com/cookiesave.aspx, которое возвращает прозрачное изображение 1x1. Однако эти файлы cookie, по-видимому, не отображаются на сайте y.com.
Все три сайта по-прежнему видят сохранение и загрузку cookie отдельно. Как, черт возьми, он узнает, что скрипт находится только на y.com?

Ответы [ 2 ]

3 голосов
/ 29 ноября 2010

Средства защиты, которые останавливают это, устанавливаются создателями браузера для предотвращения межсайтовых скриптовых атак.Если у вас есть законная цель, реализуйте ее таким образом;используйте x.my.com, y.my.com и z.my.com и установите для своих файлов cookie значение my.com, а не для каждого.

Также обратите внимание: защита от такого рода действий не просто прекращаетсяВ браузере есть также шлюзы безопасности, брандмауэры и т. д., которые ищут такое поведение, поскольку предполагается, что это атака.Если вы не проводите атаку, делайте так, как я предлагаю.О, и не атакуй - если ты об этом думаешь.

1 голос
/ 29 ноября 2010

Файлы cookie должны иметь один и тот же исходный домен. Для любого файла cookie существует два ключевых значения cookie-домен и cookie-путь . Домен cookie по умолчанию установлен на домен загруженной страницы. Например www.foo.com. Если вы хотите поделиться cookie-файлами между доменами, эти домены должны выглядеть примерно так:

a.foo.com
b.foo.com
c.foo.com

В этом случае cookie-домен должен быть установлен на foo.com (вы не можете установить com).

Путь cookie - это путь на сервере, для которого должен быть возвращен cookie. Чаще всего вы устанавливаете это на /, что означает, что любой путь получит куки. Но вы можете установить его на /something, и тогда любая страница, такая как /something/here/, получит cookie.

Редактировать:

Большинство браузеров блокируют файлы cookie от сторонних лиц, которые не являются страницами, которые вы посещаете.

Cookie blocking

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