Я разрабатываю веб-приложение, которое подается от domain.ext. Это веб-приложение использует сеансы на основе файлов cookie и предоставляет пользователям возможность размещать веб-страницы, содержащие пользовательский JavaScript, на субдомене, например. sub1.domain.ext, sub2.domain.ext. Субдомены не используют сеансы с поддержкой файлов cookie.Можно ли изолировать файлы cookie domain.ext, sub1.domain.ext и sub2.domain.ext друг от друга?
Учитывая эту установку, можно обеспечить следующие ?:
- пользователей в sub1.domain.ext не умеет читать или писать кук для domain.ext (т.е. domain.ext сессия не может быть украдена или захвачен JavaScript, встроенный в страницу на странице sub1.domain.ext).
- JavaScript, встроенный в страницу на sub1.domain.ext, не может читать или писать файлы cookie на sub2.domain.ext и наоборот.
Я проверил несколько вещей, например, представляется возможным взаимодействовать с печеньем domain.ext от sub1.domain.ext, запустив document.domain = 'domain.ext'
внутри окна sub1.domain.ext в. Есть ли способ предотвратить это, например, указав какую-либо политику при настройке домена из domain.ext?
вы можете принудительно выполнить свой 'domain.ext' для перенаправления на' www.domain.ext'. Это должно защитить файлы cookie, созданные там, поскольку они рассматриваются как другой поддомен .. (* untested *) –
Спасибо, Габи. Я думаю, что это то, что мне придется делать, хотя мне нравится нормализовать все мои URL-адреса для варианта, отличного от www (я думаю, что это уродливо, но это только мое мнение). –
Я предпочитаю не-www тоже. Но для этого случая вы не можете избежать этого. –