Што се колачиња? Како веб-сајтовите ве памтат
Колаче е мал текст што веб-сајтот го бара од вашиот прелистувач да го зачува, а потоа да го испрати назад при секоја следна посета на тој сајт. Така веб-сајтот „ве памети“ — дека сте најавени, што имате во кошничката, кој јазик сте го избрале. Колачињата се само податоци, а не програми, но бидејќи можат да ве идентификуваат, важни се и за безбедноста и за приватноста.
Зошто е важно кога градите со AI
Колачињата се под неколку функции што ќе ги побарате од AI градител, често без да се спомене зборот „колаче“:
- Најава. Во повеќето веб-апликации, „остани најавен“ значи колаче за сесија. Начинот на кој е конфигурирано тоа колаче одредува колку е лесно да се украде.
- Кошнички и поставки. Кошничка што преживува обновување на страницата често се потпира на колаче или на складиште во прелистувачот.
- Аналитика и реклами. Додавањето на Google Analytics, Meta пиксел или виџет за разговор обично додава колачиња од други компании.
- Правни известувања. На многу места, некои колачиња бараат согласност на посетителот однапред, од каде што доаѓаат банерите за колачиња.
Ако знаете кои колачиња ги поставува вашата апликација и зошто, можете да донесете подобри одлуки за безбедносните поставки, согласноста и вашата политика за приватност.
Секојдневна аналогија
Замислете билет за гардероба. Ја предавате јакната и добивате нумериран билет. Билетот не ја содржи јакната — само број. Секогаш кога се враќате до шалтерот го покажувате билетот, а службеникот знае која јакна е ваша.
Колачето за сесија функционира исто. Кога ќе се најавите, серверот ги чува вашите податоци на својата страна и му дава на вашиот прелистувач билет — долг случаен ID. Вашиот прелистувач го покажува тој билет при секое барање, а серверот гледа кој сте. Секој што ќе го копира билетот може да ја земе јакната, затоа колачињата за најава треба да се заштитат.
Како навистина функционира колачето
- Ќе го посетите сајтот. Одговорот на серверот вклучува заглавие како
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - Вашиот прелистувач го зачувува, врзано за доменот на тој сајт.
- При секое следно барање до истиот сајт, прелистувачот автоматски додава
Cookie: session_id=8f3k.... - Серверот го чита и знае дека сте вие.
JavaScript-от на страницата исто така може да создава колачиња, но најважните — колачињата за сесија за најава — треба да ги поставува серверот и да се скриени од JavaScript.
Видови колачиња
| Вид | Што значи | Пример |
|---|---|---|
| Колаче за сесија | Нема датум на истекување; се брише кога ќе заврши сесијата на прелистувачот | Краток чекор при плаќање |
| Трајно колаче | Има датум на истекување (Expires или Max-Age) и преживува рестартирања | „Запомни ме 30 дена“ |
| Од прва страна | Го поставува сајтот во адресната лента | Вашата најава на тој сајт |
| Од трета страна | Го поставува друг домен вграден во страницата | ID за следење на мрежа за реклами |
| Строго потребни | Потребни за услуга што корисникот ја побарал | Сесија за најава, кошничка |
| Неесенцијални | Корисни за сопственикот на сајтот | Аналитика, реклами, A/B тестирање |
Прелистувачите постепено ги ограничуваат колачињата од трети страни, бидејќи се користат за следење на луѓето низ веб-сајтовите. Неколку големи прелистувачи сега блокираат многу од нив стандардно, а деталите постојано се менуваат, па не градете ништо важно врз колачиња од трети страни.
Работен пример: мала онлајн продавница
Да речеме дека сте изградиле продавница што продава рачно направени свеќи. Ова се колачињата што разумна верзија би ги поставила и зошто.
session — се поставува кога сопственикот или клиент ќе се најави. Содржи само случаен ID; серверот ги чува вистинските податоци за сесијата. Поставки: HttpOnly (скриптите на страницата не можат да го прочитаат), Secure (се испраќа само преку HTTPS), SameSite=Lax (не се испраќа при повеќето барања што ги започнуваат други сајтови). Строго потребно.
cart_id — му овозможува на посетител што не е најавен да ја задржи својата кошничка. Упатува на кошничка зачувана во базата на податоци. Строго потребно, бидејќи посетителот побарал да додава работи во кошничка.
theme — го памети темниот режим. Ова може да биде колаче, но никогаш не мора да стигне до серверот, па localStorage на прелистувачот е поедноставно.
Колачиња за аналитика — додаваат се ако инсталирате алатка за аналитика. Тие се неесенцијални. Во ЕУ и Велика Британија генерално бараат согласност пред да се постават, па скриптата за аналитика треба да почека додека посетителот не кликне „Прифати“.
Забележете што продавницата не го чува во колачиња: името на клиентот, адресата или податоците за картичката. Колачињата патуваат со секое барање и живеат на уредот на корисникот, па треба да содржат ID-а, а не лични податоци.
Вообичаени термини објаснети
| Термин | Што значи |
|---|---|
| Колаче | Мал пар име–вредност што прелистувачот го зачувува и го враќа на сајтот. |
Set-Cookie | Заглавието на одговорот со кое серверот создава или ажурира колаче. |
| Сесија | Записот на серверот за најавен корисник, поврзан со ID на колаче. |
HttpOnly | Не дозволува JavaScript на страницата да го чита колачето, што ја ограничува штетата од вбризгани скрипти. |
Secure | Колачето се испраќа само преку шифрирани HTTPS врски. |
SameSite | Контролира дали колачето се испраќа при барања од други сајтови (Strict, Lax или None). |
Expires / Max-Age | Кога колачето треба да се избрише. |
| Domain / Path | Кои адреси на сајтот го добиваат колачето. |
| localStorage | Складиште во прелистувачот што кодот на страницата може да го чита, но не се испраќа автоматски до серверот. |
| XSS | Cross-site scripting: скрипта на нападач што работи во вашата страница и може да се обиде да ги украде податоците. |
| CSRF | Cross-site request forgery: друг сајт го мами прелистувачот да испрати барање со вашите колачиња. |
| Согласност за колачиња | Побарување дозвола од посетителите пред да се постават неесенцијални колачиња. |
Вообичаени грешки и погрешни сфаќања
- „Колачињата се вируси.“ Тие се обичен текст. Не можат да извршуваат код на вашиот компјутер.
- Ставање чувствителни податоци во колачиња. Чувајте случаен ID, а деталите држете ги на серверот.
- Токени за најава во localStorage. Секоја скрипта што работи на страницата може да го чита localStorage, вклучително и вбризгана.
HttpOnlyколаче воопшто не може да го прочитаат скриптите на страницата. - Отсуство на
SecureиHttpOnly. Овие две ознаки се евтини и затвораат вообичаени празнини. - Претпоставка дека банерот покрива сѐ. Банер што ја вчитува аналитиката пред некој да кликне „Прифати“ не ја врши својата работа.
- Заборавена одјава. Одјавата треба да го избрише колачето и да ја прекине сесијата на серверот, за копиран колаче да престане да работи.
- „Ако не користам колачиња, правилата за приватност не се применуваат.“ Правилата како GDPR ги покриваат личните податоци каде и да се чуваат — вклучително локално складиште, отпечатоци од уредот и серверски дневници.
Што да го побарате од вашиот AI градител
- „Наведи го секое колаче што го поставува апликацијата, за што е, колку трае и дали е строго потребно.“
- „Користи
HttpOnly,Secure,SameSite=Laxколаче за сесијата за најава. Не ставај токени за автентикација во localStorage.“ - „Во колачето чувај само случаен ID за сесијата; податоците за сесијата чувај на серверот.“
- „При одјава, избриши го колачето и поништи ја сесијата на серверот.“
- „Не вчитувај скрипти за аналитика или маркетинг додека посетителот не ги прифати, и запомни го неговиот избор.“
- „Додај едноставен дел за колачиња во политиката за приватност што одговара на списокот погоре.“
За делот за согласност видете како да додадете согласност за колачиња. За тоа како колачињата се вклопуваат во најавите, прочитајте што е автентикација.
Колачиња во Mythex
Mythex не обезбедува вградена најава за корисниците на вашата апликација, па колачињата што ги поставува вашата апликација доаѓаат од нејзиниот сопствен код и алатките што ги додавате на неа — на пример, колаче за сесија од пристапот за автентикација што го избирате. Замолете го агентот во чатот да ги наведе, да ги затегне нивните поставки или да додаде банер за согласност, и проверете го резултатот во жив преглед пред да објавите. Рецептот од документацијата за додавање најава во вашата апликација е добра почетна порака, а безбедноста за апликациите што ги градите објаснува како клучевите и тајните да не се префрлаат во прелистувачот.
Прашања
Што е колаче на веб-сајт?
Колачето е мал текст што веб-сајтот го бара од вашиот прелистувач да го зачува. Прелистувачот го испраќа назад при секое следно барање до тој сајт, што му овозможува на сајтот да памети работи како дали сте најавени или што има во вашата кошничка.
Дали колачињата се опасни?
Колачињата се само податоци, а не програми, па не можат да извршуваат код или да заразат компјутер. Загрижувачките се приватноста, кога колачињата од трети страни ве следат низ сајтови, и безбедноста, кога колачето за најава ќе се украде и ќе се користи за да се претставувате како вас.
Која е разликата помеѓу колачињата од прва и од трета страна?
Колаче од прва страна го поставува сајтот што го гледате во адресната лента, на пример колаче за најава. Колаче од трета страна го поставува друг домен вграден во страницата, како мрежа за реклами, и често се користи за следење низ многу сајтови.
Ми треба ли банер за колачиња?
Тоа зависи од тоа каде се вашите корисници и кои колачиња ги користите. Во ЕУ и Велика Британија, неесенцијалните колачиња како аналитика или реклами генерално бараат согласност однапред, додека колачињата строго потребни за услугата, како сесија за најава, обично не бараат. Проверете ги правилата што се применуваат за вас.
Која е разликата помеѓу колачиња и localStorage?
И двете чуваат податоци во прелистувачот. Колачињата автоматски се испраќаат до серверот при секое барање, што им одговара на најавите. localStorage останува во прелистувачот и го чита само кодот на самата страница, што одговара на поставки како тема.