Ръководства

Какво представляват бисквитките? Как уебсайтовете ви запомнят

Бисквитката е малък текст, който уебсайт моли браузъра ви да съхрани и после да изпрати обратно при всяко следващо посещение на същия сайт. Така сайтът „ви запомня“: че сте влезли в профила си, какво има в количката ви, кой език сте избрали. Бисквитките са просто данни, а не програми, но тъй като могат да ви идентифицират, са важни както за сигурността, така и за поверителността.

Защо е важно, когато строите с AI

Бисквитките стоят под няколко функции, които ще поискате от AI конструктор, често без думата „бисквитка“ изобщо да се появи:

  • Вход. В повечето уеб приложения „остани влязъл“ означава бисквитка за сесия. Начинът, по който е настроена тази бисквитка, определя колко лесно може да бъде откраднат.
  • Колички и предпочитания. Количка, която оцелява при презареждане на страницата, често разчита на бисквитка или на браузърно хранилище.
  • Аналитика и реклами. Добавянето на Google Analytics, пиксел на Meta или джаджа за чат обикновено добавя бисквитки от други компании.
  • Правни известия. На много места някои бисквитки изискват предварително съгласие на посетителя и оттам идват банерите за бисквитки.

Ако знаете кои бисквитки задава приложението ви и защо, можете да правите по-добър избор за настройките за сигурност, съгласието и политиката си за поверителност.

Ежедневна аналогия

Представете си номерче от гардероб. Оставяте палтото си и получавате номерче. Номерчето не съдържа палтото – само число. При всяко връщане до гишето показвате номерчето и служителят знае кое палто е ваше.

Бисквитката за сесия работи по същия начин. Когато влезете, сървърът пази данните ви от своя страна и дава на браузъра ви номерче – дълго случайно ID. Браузърът показва това номерче при всяка заявка, а сървърът търси кой сте. Всеки, който копира номерчето, може да вземе палтото, затова бисквитките за вход трябва да се защитават.

Как точно работи бисквитката

  1. Посещавате сайт. Отговорът на сървъра включва заглавие като Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax.
  2. Браузърът я съхранява, свързана с домейна на сайта.
  3. При всяка следваща заявка към същия сайт браузърът автоматично добавя Cookie: session_id=8f3k....
  4. Сървърът я чете и знае, че сте вие.

JavaScript на страницата също може да създава бисквитки, но най-важните – бисквитките за вход – трябва да се задават от сървъра и да са скрити от JavaScript.

Видове бисквитки

ВидКакво означаваПример
Бисквитка за сесияНяма дата на изтичане; изтрива се, когато сесията в браузъра приключиКратка стъпка от плащането
Постоянна бисквиткаИма дата на изтичане (Expires или Max-Age) и оцелява при рестартиране„Запомни ме 30 дни“
От първа странаЗадава се от сайта в адресната лентаВашият вход в този сайт
От трета странаЗадава се от друг домейн, вграден в страницатаИдентификатор на рекламна мрежа
Строго необходимаНужна за услуга, която потребителят е поискалСесия за вход, количка за пазаруване
НезадължителнаПолезна за собственика на сайтаАналитика, реклама, 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Браузърно хранилище, което кодът на страницата може да чете, но което не се изпраща автоматично към сървъра.
XSSCross-site scripting: скрипт на нападател, работещ във вашата страница, който може да се опита да открадне данни.
CSRFCross-site request forgery: друг сайт, който заблуждава браузъра да изпрати заявка с вашите бисквитки.
Съгласие за бисквиткиИскане на разрешение от посетителите, преди да се зададат незадължителни бисквитки.

Чести грешки и заблуди

  • „Бисквитките са вируси.“ Те са обикновен текст. Не могат да изпълняват код на вашия компютър.
  • Слагане на чувствителни данни в бисквитки. Съхранете случаен ID и пазете данните на сървъра.
  • Токени за вход в localStorage. Всеки скрипт, работещ на страницата, може да прочете localStorage, включително инжектиран. Бисквитка HttpOnly не може да бъде прочетена от скриптове на страницата изобщо.
  • Липсващи Secure и HttpOnly. Тези два флага са евтини и затварят чести дупки.
  • Предположението, че банерът покрива всичко. Банер, който зарежда аналитика, преди някой да натисне „Приемам“, не изпълнява задачата си.
  • Забравяне на изхода. Излизането от профил трябва да изтрие бисквитката и да прекрати сесията на сървъра, така че копирана бисквитка да спре да работи.
  • „Ако не използвам бисквитки, правилата за поверителност не важат.“ Правила като GDPR покриват личните данни, където и да се съхраняват – включително локалното хранилище, отпечатъците на устройството и сървърните логове.

Какво да поискате от AI конструктора си

  • „Изброй всяка бисквитка, която приложението задава, за какво е, колко време е валидна и дали е строго необходима.“
  • „Използвай HttpOnly, Secure, SameSite=Lax бисквитка за сесията за вход. Не слагай токени за удостоверяване в localStorage.“
  • „Пази в бисквитката само случаен ID на сесията; пази данните за сесията на сървъра.“
  • „При изход изтрий бисквитката и прекрати сесията на сървъра.“
  • „Не зареждай аналитични или маркетингови скриптове, докато посетителят не ги приеме, и запомни избора му.“
  • „Добави кратък раздел за бисквитките в политиката за поверителност, който съвпада със списъка по-горе.“

За частта със съгласието вижте как да добавите съгласие за бисквитки. За връзката им с входовете прочетете какво е удостоверяване.

Бисквитки в Mythex

Mythex не предоставя вграден вход за потребителите на вашето приложение, така че бисквитките, които приложението ви задава, идват от собствения му код и инструментите, които добавите към него – например бисквитка за сесия от подхода за удостоверяване, който изберете. Поискайте от агента в чат да ги изброи, да затегне настройките им или да добави банер за съгласие, и проверете резултата в жива визуализация, преди да публикувате. Рецептата в документацията за добавяне на вход в приложението е добра начална подсказка, а сигурността за приложенията, които строите обяснява как да държите ключовете и тайните извън браузъра.

Въпроси

Какво е бисквитка на уебсайт?

Бисквитката е малък текст, който сайтът моли браузъра ви да запази. Браузърът го изпраща обратно при всяка следваща заявка към същия сайт, което позволява на сайта да помни неща като дали сте влезли в профила си или какво има в количката ви.

Опасни ли са бисквитките?

Бисквитките са просто данни, а не програми, затова не могат да изпълняват код или да заразят компютър. Притесненията са за поверителността, когато бисквитки на трети страни ви проследяват между сайтове, и за сигурността, когато бисквитка за вход бъде откраднат и използвана, за да се представя някой за вас.

В каква е разликата между бисквитки от първа и от трета страна?

Бисквитка от първа страна се поставя от сайта, който е в адресната лента, например бисквитка за вход. Бисквитка от трета страна се поставя от друг домейн, вграден в страницата, например рекламна мрежа, и често се използва, за да ви следва между много сайтове.

Нужен ли ми е банер за бисквитки?

Зависи къде са вашите потребители и какви бисквитки използвате. В ЕС и Великобритания бисквитките, които не са задължителни, като аналитичните или рекламните, обикновено изискват съгласие предварително, докато бисквитките, строго необходими за услугата, като сесия за вход, обикновено не. Проверете правилата, които важат за вас.

В каква е разликата между бисквитки и localStorage?

И двете съхраняват данни в браузъра. Бисквитките се изпращат към сървъра автоматично при всяка заявка, което подхожда за входове. localStorage остава в браузъра и се чете само от собствения код на страницата, което подхожда за предпочитания като тема.

Mythex · Pricing · Създай всичко с ИИ · Шаблони за уебсайтове и приложения · Mythex в сравнение · Речник на създаването на приложения с ИИ · Безплатни инструменти за създаване на приложения с ИИ · English

English አማርኛ العربية বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)