Vadovai

Kas yra slapukai? Kaip svetainės jus atpažįsta

Slapukas yra nedidelis tekstas, kurį svetainė paprašo jūsų naršyklės išsaugoti ir siųsti atgal kiekvieno vėlesnio apsilankymo metu toje svetainėje. Taip svetainė „prisimena“ jus: kad esate prisijungę, kas yra krepšelyje, kokią kalbą pasirinkote. Slapukai yra tik duomenys, o ne programos, bet kadangi jie gali jus identifikuoti, jie svarbūs ir saugumui, ir privatumui.

Kodėl tai svarbu kuriant su DI

Slapukai slypi po keliomis funkcijomis, kurių prašysite DI programėlių kūrėjo, dažnai net nepaminėdami žodžio „slapukas“:

  • Prisijungimas. Daugelyje žiniatinklio programėlių „likti prisijungus“ reiškia sesijos slapuką. Tai, kaip tas slapukas sukonfigūruotas, lemia, kaip lengva jį pavogti.
  • Krepšeliai ir nuostatos. Krepšelis, kuris išlieka perkrovus puslapį, dažnai remiasi slapuku arba naršyklės saugykla.
  • Analitika ir skelbimai. Pridėjus Google Analytics, Meta pikselį ar pokalbių valdiklį, paprastai atsiranda kitų įmonių slapukų.
  • Teisiniai pranešimai. Daugelyje vietų kai kuriems slapukams lankytojo sutikimas reikalingas iš anksto, todėl atsiranda slapukų pranešimai.

Jei žinote, kokius slapukus jūsų programa nustato ir kodėl, galite geriau pasirinkti saugumo nustatymus, sutikimą ir privatumo politiką.

Kasdienė analogija

Pagalvokite apie drabužinės bilietėlį. Paduodate paltą ir gaunate numeruotą bilietėlį. Bilietėlyje nėra jūsų palto – tik numeris. Kaskart grįždami prie langelio parodote bilietėlį, o darbuotojas žino, kuris paltas jūsų.

Sesijos slapukas veikia taip pat. Prisijungus serveris savo pusėje laiko jūsų duomenis, o naršyklei duoda bilietėlį – ilgą atsitiktinį ID. Naršyklė rodo tą bilietėlį su kiekviena užklausa, o serveris pagal jį suranda, kas jūs esate. Kas nukopijuoja bilietėlį, gali pasiimti paltą, todėl prisijungimo slapukus reikia saugoti.

Kaip iš tikrųjų veikia slapukas

  1. Apsilankote svetainėje. Serverio atsakyme yra antraštė, pavyzdžiui Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax.
  2. Naršyklė ją išsaugo, susiedama su tos svetainės domenu.
  3. Su kiekviena vėlesne užklausa tai pačiai svetainei naršyklė automatiškai prideda Cookie: session_id=8f3k....
  4. Serveris jį perskaito ir žino, kad tai jūs.

Puslapio JavaScript taip pat gali kurti slapukus, bet svarbiausius – prisijungimo sesijas – turėtų nustatyti serveris ir paslėpti nuo JavaScript.

Slapukų tipai

TipasKą reiškiaPavyzdys
Sesijos slapukasBe galiojimo datos; ištrinamas, kai baigiasi naršyklės sesijaTrumpalaikis apmokėjimo žingsnis
Nuolatinis slapukasTuri galiojimo datą (Expires ar Max-Age) ir išlieka po perkrovimų„Prisimink mane 30 dienų“
Pirmosios šaliesNustato svetainė, matoma adreso juostojeJūsų prisijungimas toje svetainėje
Trečiosios šaliesNustato kitas domenas, įterptas į puslapįReklamų tinklo sekimo ID
Griežtai būtiniReikalingi paslaugai, kurios paprašė naudotojasPrisijungimo sesija, pirkinių krepšelis
NebūtiniNaudingi svetainės savininkuiAnalitika, reklama, A/B testavimas

Naršyklės nuosekliai riboja trečiųjų šalių slapukus, nes jie naudojami sekti žmones per svetaines. Kelios pagrindinės naršyklės dabar daugelį jų blokuoja pagal numatytuosius nustatymus, o detalės nuolat keičiasi, todėl nekurkite nieko svarbaus ant trečiųjų šalių slapukų.

Darbo pavyzdys: nedidelė internetinė parduotuvė

Sakykime, sukūrėte parduotuvę, pardavinėjančią rankų darbo žvakes. Štai slapukai, kuriuos nustatytų protinga versija, ir kodėl.

session – nustatomas, kai savininkas ar klientas prisijungia. Jame yra tik atsitiktinis ID; tikrus sesijos duomenis saugo serveris. Nustatymai: HttpOnly (puslapio skriptai negali jo perskaityti), Secure (siunčiamas tik per HTTPS), SameSite=Lax (nesiunčiamas daugumai užklausų, pradėtų kitų svetainių). Griežtai būtinas.

cart_id – leidžia neprisijungusiam lankytojui išlaikyti krepšelį. Jis nukreipia į krepšelį, išsaugotą duomenų bazėje. Griežtai būtinas, nes lankytojas pats paprašė įdėti prekių į krepšelį.

theme – prisimena tamsųjį režimą. Tai galėtų būti slapukas, bet jam niekada nereikia pasiekti serverio, todėl paprasčiau naudoti naršyklės localStorage.

Analitikos slapukai – pridedami, jei įdiegiate analitikos įrankį. Tai nebūtini slapukai. ES ir JK jiems paprastai reikia sutikimo prieš nustatant, todėl analitikos scenarijus turėtų laukti, kol lankytojas paspaus „Sutinku“.

Atkreipkite dėmesį, ko parduotuvė nesaugo slapukuose: kliento vardo, adreso ar kortelės duomenų. Slapukai keliauja su kiekviena užklausa ir gyvena naudotojo įrenginyje, todėl jie turėtų saugoti ID, o ne asmens duomenis.

Dažnos sąvokos paaiškintos

SąvokaKą reiškia
SlapukasNedidelė pavadinimo ir reikšmės pora, kurią naršyklė saugo ir siunčia atgal svetainei.
Set-CookieAtsakymo antraštė, kuria serveris sukuria ar atnaujina slapuką.
SesijaServerio įrašas apie prisijungusį naudotoją, susietas su slapuko ID.
HttpOnlyNeleidžia puslapio JavaScript skaityti slapuko, o tai riboja žalą nuo įterptų skriptų.
SecureSlapukas siunčiamas tik per šifruotus HTTPS ryšius.
SameSiteNustato, ar slapukas siunčiamas užklausose iš kitų svetainių (Strict, Lax ar None).
Expires / Max-AgeKada slapukas turi būti ištrintas.
Domain / PathKurie svetainės adresai gauna slapuką.
localStorageNaršyklės saugykla, kurią gali skaityti puslapio kodas, bet kuri automatiškai nesiunčiama serveriui.
XSSKryžminis svetainių scenarijų vykdymas: išpuoliuotojo skriptas, veikiantis jūsų puslapyje, kuris gali bandyti pavogti duomenis.
CSRFKryžminė svetainių užklausų klastotė: kita svetainė priverčia naršyklę siųsti užklausą su jūsų slapukais.
Slapukų sutikimasPrašymas lankytojų leidimo prieš nustatant nebūtinus slapukus.

Dažnos klaidos ir klaidingi įsitikinimai

  • „Slapukai yra virusai.“ Jie yra paprastas tekstas. Jie negali vykdyti kodo jūsų kompiuteryje.
  • Jautrių duomenų dėjimas į slapukus. Saugokite atsitiktinį ID, o detales laikykite serveryje.
  • Prisijungimo žymekliai localStorage. Bet kuris puslapyje veikiantis skriptas gali perskaityti localStorage, įskaitant įterptą. HttpOnly slapuko puslapio skriptai visai negali perskaityti.
  • Trūkstami Secure ir HttpOnly. Šios dvi vėliavėlės nebrangios ir užkerta kelią dažnoms spragoms.
  • Manymas, kad pranešimas viską apima. Pranešimas, kuris įkelia analitiką prieš tai, kai kas nors paspaudžia „Sutinku“, savo darbo neatlieka.
  • Atsijungimo pamiršimas. Atsijungimas turėtų ištrinti slapuką ir baigti sesiją serveryje, kad nukopijuotas slapukas nebeveiktų.
  • „Jei nenaudoju slapukų, privatumo taisyklės netaikomos.“ Taisyklės, tokios kaip BDAR, apima asmens duomenis, kur jie bebūtų saugomi – įskaitant localStorage, įrenginių pirštų atspaudus ir serverio žurnalus.

Ko prašyti iš savo DI programėlių kūrėjo

  • „Išvardykite kiekvieną programos nustatomą slapuką, kam jis skirtas, kiek laiko galioja ir ar jis griežtai būtinas.“
  • „Prisijungimo sesijai naudokite HttpOnly, Secure, SameSite=Lax slapuką. Autentifikacijos žymeklių nedėkite į localStorage.“
  • „Slapuke laikykite tik atsitiktinį sesijos ID; sesijos duomenis saugokite serveryje.“
  • „Atsijungiant išvalykite slapuką ir serveryje panaikinkite sesiją.“
  • „Neįkelkite analitikos ar rinkodaros scenarijų, kol lankytojas jų nepriims, ir prisiminkite jo pasirinkimą.“
  • „Pridėkite paprastą slapukų skyrių privatumo politikai, atitinkantį aukščiau pateiktą sąrašą.“

Dėl sutikimo dalies žr. kaip pridėti slapukų sutikimą. Kaip slapukai susiję su prisijungimais, skaitykite kas yra autentifikacija.

Slapukai Mythex

Mythex nesuteikia įmontuoto prisijungimo jūsų programos naudotojams, todėl slapukus, kuriuos nustato jūsų programa, sukuria jos pačios kodas ir įrankiai, kuriuos į ją pridedate – pavyzdžiui, sesijos slapukas pagal jūsų pasirinktą autentifikacijos metodą. Pokalbyje paprašykite agento juos išvardyti, sugriežtinti jų nustatymus ar pridėti sutikimo pranešimą, o prieš publikuodami patikrinkite rezultatą gyvoje peržiūroje. Dokumentacijos receptas prisijungimo pridėjimas prie programos yra geras pradinis užklausos pavyzdys, o programų, kurias kuriate, saugumas aprašo, kaip laikyti raktus ir paslaptis nepasiekiamus naršyklėje.

Klausimai

Kas yra slapukas svetainėje?

Slapukas yra nedidelis tekstas, kurį svetainė paprašo jūsų naršyklės išsaugoti. Naršyklė jį siunčia atgal su kiekviena vėlesne užklausa tai svetainei, o tai leidžia svetainei prisiminti tokius dalykus kaip tai, ar esate prisijungę, ar kas nors yra jūsų krepšelyje.

Ar slapukai pavojingi?

Slapukai yra tik duomenys, o ne programos, todėl jie negali vykdyti kodo ar užkrėsti kompiuterio. Rūpesčiai yra privatumas, kai trečiųjų šalių slapukai seka jus per svetaines, ir saugumas, kai prisijungimo slapukas pavagiamas ir naudojamas jums įsilaužti.

Kuo skiriasi pirmosios ir trečiosios šalies slapukai?

Pirmosios šalies slapuką nustato svetainė, kurią matote adreso juostoje, pavyzdžiui, prisijungimo slapukas. Trečiosios šalies slapuką nustato kitas domenas, įterptas į puslapį, pavyzdžiui, reklamų tinklas, ir dažnai naudojamas sekti jus per daugelį svetainių.

Ar man reikia slapukų pranešimo?

Tai priklauso nuo to, kur yra jūsų naudotojai ir kokius slapukus naudojate. ES ir JK nebūtiniems slapukams, pavyzdžiui, analitikai ar reklamai, paprastai reikia sutikimo iš anksto, o griežtai būtinų paslaugai slapukų, pavyzdžiui, prisijungimo sesijos, paprastai nereikia. Patikrinkite jums taikomas taisykles.

Kuo skiriasi slapukai ir localStorage?

Abu saugo duomenis naršyklėje. Slapukai automatiškai siunčiami serveriui su kiekviena užklausa, todėl tinka prisijungimams. localStorage lieka naršyklėje ir jį skaito tik paties puslapio kodas, todėl tinka nuostatoms, pavyzdžiui, temai.

Mythex · Pricing · Kurkite bet ką su dirbtiniu intelektu · Svetainių ir programėlių šablonai · Mythex palyginimas · Programėlių kūrimo su dirbtiniu intelektu žodynėlis · Nemokami programėlių kūrimo su dirbtiniu intelektu įrankiai · 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 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 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 简体中文 繁體中文(香港) 繁體中文(台灣)