Имам приложение и трябва да съхранявам малко информация в бисквитките. Имам индексна страница и поставям част от информацията в бисквитка (например име на променлива). „Бисквитката“ на индексната страница има път /Main/
, На друга страница трябва да прочета тази бисквитка и ако е необходимо да я променя. Но друга бисквитка страница е /Main/info/
, Браузър просто създава нова бисквитка, но трябва да я отменя и да използвам същата бисквитка с path /Main/
на всички страници. Как мога да направя това?
Отговори:
2 за отговор № 1Добави пътека = /; или посочете път, когато създавате бисквитката. Това ще попречи на браузъра да създава дублиращи се бисквитки на домейн.
Към един от коментарите, ако погледнете GoogleChrome и как показва бисквитките, ще ви покаже пътя. Ако използвате едно и също име на бисквитки, без да посочвате пътя, той ще създаде бисквитка за всяка.
Забележка: Internet Explorer не прави едно и също, той разполага с един текстов файл за домейн.
0 за отговор № 2
Втората страница трябва изрично да зададе пътя на бисквитките до "/ Main".
document.cookie = "name=value; path=/Main/";
0 за отговор № 3
Трябва да определите един път за всички SET-COOKIE
команди, независими от подпътеката на искания ресурс (напр path=/Main
). По принцип трябва да използвате възможно най-дългия път ... (но ще трябва да поемете с родителски път на всички ресурси, използвайки една и съща бисквитка).
Корен (/
) трябва да се използва само ако приложението ви притежава пълния домейн и бисквитката е необходима за ресурси с различни пашони от най-високо ниво (напр. /main/...
, /secondary/...
и /unimportant/...
)
Защо:
- Причини за сигурност
- Предотвратяване на странични ефекти с други приложения в същия домейн