2010-04-02 6 views
4

Когда страница включает сторонний javascript (через <script src=...) и что javascript затем устанавливает cookie, этот файл cookie становится «первым», хотя он первоначально задан сторонним источником.Отключает ли сторонние файлы cookie файлы cookie, созданные сторонним javascript?

Мой вопрос в том, что. Если кто-то отключил сторонние файлы cookie в своем браузере, применимо ли это также к файлам cookie, установленным сторонним javascript? Или он блокирует только файлы cookie, которые явно указаны в заголовках для запросов к домену третьей стороны?

И так или иначе, все ли браузеры обрабатывают это точно так же или делают некоторые куки-файлы javascript, но другие позволяют это?

ответ

5

Я просто подумал, что обновляю это после дальнейшего тестирования, если кто-нибудь встретит его позже.

Я протестировал Firefox 3.6, MSIE 7, Safari 4, Chrome 4 и Opera 10, и все они фактически поддерживают создание файлов cookie через сторонний javascript, даже если сторонние файлы cookie отключены. Я заключаю это потому, что файлы cookie создаются для первого доменного домена, поэтому браузеры рассматривают их как файлы первой партии, даже если они созданы сценарием из стороннего источника.

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

0

Я считаю, что большинство браузеров не различают куки для домена, заданного в HTTP-заголовках, а не те, которые установлены javascript, когда дело доходит до включения/отключения их с помощью пользовательских настроек. Конечно, МОЖНО быть исключениями - нет никаких технических причин, препятствующих тому, чтобы кто-то расширил браузер таким образом, чтобы у него были разные правила для файлов cookie, основанные на том, где именно был создан файл cookie, - но я не знаю о нем.

EDIT: Я думаю, что изначально неправильно понял ваш вопрос - я думал, что вы спрашиваете разницу между cookie-файлами, установленными через HTTP-заголовки и cookie-файлы, установленные через javascript. Скорее, вы спрашиваете, является ли cookie, установленный javascript, который размещен в другом домене, считается сторонним файлом cookie против cookie, который устанавливается javascript, непосредственно встроенным в страницу или размещенным в том же домене? Если это так, я считаю, что ответ отрицательный (то есть, они рассматриваются как файлы cookie сторонних производителей). Независимо от исходного домена, в котором размещен js-файл, он выполняется в контексте веб-страницы, которая включает его, поэтому он считается сторонним.

+0

Мое ограниченное тестирование с Firefox показывает, что файлы cookie, созданные сторонним javascript, по-прежнему работают даже с отключенной функцией ... но тестирование всех браузеров - это немного боль, поэтому я подумал, что я бы спросил, интересует ли кто-нибудь подобное мысли и проверили его более тщательно. – Sean

+0

Нет, ваше первоначальное понимание было правильным - я пытаюсь выяснить, обрабатываются ли файлы cookie через http-заголовки иначе, чем те, которые установлены через javascript, даже если они поступают «из» того же домена третьей стороны. – Sean

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