document.domain с ошибками в двухбуквенном доменном имени в IE - PullRequest
4 голосов
/ 01 ноября 2010

У нас есть доменное имя с двумя буквами. Это проблема с IE для всех версий.

Проблема в том, что когда мы устанавливаем document.domain="xx.yy", мы получаем исключение "неверный аргумент".

У кого-нибудь есть решение или идея, как обойти эту ошибку?

С уважением, Tobias

1 Ответ

2 голосов
/ 01 ноября 2010

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

Это умышленно: в противном случае example.co.uk и other-example.co.uk могут действовать как часть одного и того же сайта co.uk. Браузеры не хотят этого делать из соображений конфиденциальности и безопасности.

Проблема в том, что система DNS не имеет официального способа заявить, что co.uk - это домен, выделенный реестром, в котором живут отдельные организации, а bit.ly - это единая организация. В некоторых местах это еще сложнее, например, .jp, в котором есть как субдомены прямой организации, так и субдомены, выделенные реестром, например co.jp.

Таким образом, в браузерах есть внутренние правила того, какие домены следует считать «общедоступными», и им нельзя разрешать совместно использовать контекст сценариев / учетных данных, и эти правила необходимо обновлять при появлении новых TLD и SLD. Старые браузеры могут не распознавать новые домены.

Некоторые браузеры берут информацию из Public Suffix List , но не IE. IE, по-видимому, использует эвристику, которая для ДВУ, о которой он не знает и имеет особый случай, двухбуквенный поддомен xx.yy, вероятно, будет общественным достоянием (например, co.uk, or.jp или что-либо еще) и не должно быть разрешено действовать в качестве общего родительского домена. Это разумное предположение, ИМО: лучше «потерпеть неудачу».

Я не думаю, что вы сможете обойти это. Что вы пытаетесь сделать, может быть, есть другой путь? Можете ли вы поместить весь материал сценариев кросс-субдоменов в субдомен?

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