คู่มือ

คุกกี้คืออะไร? เว็บไซต์จำคุณได้อย่างไร

คุกกี้คือข้อความชิ้นเล็กๆ ที่เว็บไซต์ขอให้เบราว์เซอร์ของคุณเก็บไว้ และส่งกลับมาทุกครั้งที่คุณเข้าเว็บนั้นในภายหลัง นี่คือวิธีที่เว็บ "จำ" คุณได้ เช่น ว่าคุณล็อกอินอยู่ มีอะไรในตะกร้า หรือคุณเลือกภาษาไหน คุกกี้เป็นเพียงข้อมูล ไม่ใช่โปรแกรม แต่เพราะมันระบุตัวคุณได้ จึงสำคัญทั้งด้านความปลอดภัยและความเป็นส่วนตัว

ทำไมมันสำคัญเมื่อคุณสร้างด้วย AI

คุกกี้อยู่เบื้องหลังฟีเจอร์หลายอย่างที่คุณจะขอจากเครื่องมือสร้างด้วย AI มักโดยไม่มีคำว่า "คุกกี้" ปรากฏขึ้นเลย:

  • การล็อกอิน ในเว็บแอปส่วนใหญ่ "อยู่ในระบบต่อไป" หมายถึงคุกกี้เซสชัน วิธีตั้งค่าคุกกี้นั้นกำหนดว่ามันถูกขโมยได้ง่ายแค่ไหน
  • ตะกร้าและการตั้งค่า ตะกร้าที่ยังอยู่หลังรีเฟรชหน้ามักพึ่งคุกกี้หรือการจัดเก็บในเบราว์เซอร์
  • การวิเคราะห์และโฆษณา การเพิ่ม Google Analytics, Meta pixel หรือวิดเจ็ตแชตมักเพิ่มคุกกี้จากบริษัทอื่น
  • การแจ้งทางกฎหมาย ในหลายที่ คุกกี้บางประเภทต้องได้รับความยินยอมจากผู้เข้าชมก่อน ซึ่งเป็นที่มาของแบนเนอร์คุกกี้

ถ้าคุณรู้ว่าแอปของคุณตั้งคุกกี้อะไรบ้างและเพื่ออะไร คุณจะเลือกการตั้งค่าความปลอดภัย ความยินยอม และนโยบายความเป็นส่วนตัวได้ดีขึ้น

ตัวอย่างในชีวิตประจำวัน

ลองนึกถึงบัตรรับฝากเสื้อโค้ต คุณส่งเสื้อโค้ตให้และได้บัตรที่มีหมายเลข บัตรไม่มีเสื้อโค้ตของคุณอยู่ข้างใน มีแค่หมายเลข ทุกครั้งที่กลับมาที่เคาน์เตอร์ คุณแสดงบัตร และพนักงานรู้ว่าเสื้อโค้ตตัวไหนเป็นของคุณ

คุกกี้เซสชันทำงานแบบเดียวกัน เมื่อคุณล็อกอิน เซิร์ฟเวอร์เก็บรายละเอียดของคุณไว้ฝั่งของมัน และให้บราวเซอร์ของคุณ "บัตร" คือ ID สุ่มยาวๆ เบราว์เซอร์แสดงบัตรนั้นในทุกคำขอ และเซิร์ฟเวอร์ค้นหาว่าคุณเป็นใคร ใครก็ตามที่คัดลอกบัตรไปได้ก็สามารถไปรับเสื้อโค้ตได้ นั่นคือเหตุผลที่คุกกี้ล็อกอินต้องได้รับการป้องกัน

คุกกี้ทำงานอย่างไรจริงๆ

  1. คุณเข้าเว็บ การตอบกลับของเซิร์ฟเวอร์มี header อย่าง Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax
  2. เบราว์เซอร์เก็บไว้ ผูกกับโดเมนของเว็บนั้น
  3. ในทุกคำขอถัดไปไปยังเว็บเดียวกัน เบราว์เซอร์จะเพิ่ม Cookie: session_id=8f3k... โดยอัตโนมัติ
  4. เซิร์ฟเวอร์อ่านค่านั้นและรู้ว่าเป็นคุณ

JavaScript ของหน้าก็สร้างคุกกี้ได้เช่นกัน แต่คุกกี้ที่สำคัญที่สุด เช่น เซสชันการล็อกอิน ควรถูกตั้งโดยเซิร์ฟเวอร์และซ่อนจาก JavaScript

ประเภทของคุกกี้

ประเภทความหมายตัวอย่าง
คุกกี้เซสชันไม่มีวันหมดอายุ จะถูกลบเมื่อเซสชันเบราว์เซอร์สิ้นสุดขั้นตอนชำระเงินแบบสั้น
คุกกี้ถาวรมีวันหมดอายุ (Expires หรือ Max-Age) และอยู่รอดจากการรีสตาร์ท"จำฉันไว้ 30 วัน"
First-partyถูกตั้งโดยเว็บที่อยู่บนแถบที่อยู่การล็อกอินของคุณบนเว็บนั้น
Third-partyถูกตั้งโดยโดเมนอื่นที่ฝังอยู่ในหน้าID การติดตามของเครือข่ายโฆษณา
จำเป็นอย่างยิ่งจำเป็นสำหรับบริการที่ผู้ใช้ขอเซสชันการล็อกอิน ตะกร้าสินค้า
ไม่จำเป็นเป็นประโยชน์สำหรับเจ้าของเว็บการวิเคราะห์ โฆษณา การทดสอบ A/B

เบราว์เซอร์ค่อยๆ จำกัดคุกกี้ Third-party เพราะมันถูกใช้ติดตามผู้คนข้ามเว็บไซต์ เบราว์เซอร์หลักหลายตัวตอนนี้บล็อกคุกกี้เหล่านี้จำนวนมากเป็นค่าเริ่มต้น และรายละเอียดยังเปลี่ยนแปลงอยู่ ดังนั้นอย่าสร้างสิ่งที่สำคัญบนคุกกี้ Third-party

ตัวอย่างการทำงาน: ร้านค้าออนไลน์ขนาดเล็ก

สมมติว่าคุณสร้างร้านขายเทียนทำมือ นี่คือคุกกี้ที่เวอร์ชันที่สมเหตุสมผลจะตั้ง และเหตุผล

session ถูกตั้งเมื่อเจ้าของหรือลูกค้าล็อกอิน มีเพียง ID สุ่ม เซิร์ฟเวอร์เก็บข้อมูลเซสชันจริงไว้เอง การตั้งค่า: HttpOnly (สคริปต์ของหน้าอ่านไม่ได้) Secure (ส่งเฉพาะผ่าน HTTPS) SameSite=Lax (ไม่ถูกส่งในคำขอส่วนใหญ่ที่เริ่มจากเว็บอื่น) จำเป็นอย่างยิ่ง

cart_id ช่วยให้ผู้เข้าชมที่ไม่ได้ล็อกอินเก็บตะกร้าไว้ได้ ชี้ไปยังตะกร้าที่บันทึกไว้ใน ฐานข้อมูล จำเป็นอย่างยิ่ง เพราะผู้เข้าชมเป็นฝ่ายขอเพิ่มสินค้าลงตะกร้า

theme จำโหมดมืด สิ่งนี้อาจเป็นคุกกี้ได้ แต่ไม่จำเป็นต้องส่งไปยังเซิร์ฟเวอร์เลย ดังนั้น localStorage ของเบราว์เซอร์จึงง่ายกว่า

คุกกี้วิเคราะห์ ถูกเพิ่มถ้าคุณติดตั้งเครื่องมือวิเคราะห์ เหล่านี้ไม่จำเป็น ใน EU และสหราชอาณาจักร โดยทั่วไปต้องได้รับความยินยอมก่อนตั้งค่า ดังนั้นสคริปต์การวิเคราะห์ควรรอจนผู้เข้าชมคลิก "ยอมรับ"

สังเกตว่าร้านไม่ได้เก็บอะไรไว้ในคุกกี้: ชื่อ ที่อยู่ หรือรายละเอียดบัตรของลูกค้า คุกกี้เดินทางไปพร้อมทุกคำขอและอยู่บนอุปกรณ์ของผู้ใช้ ดังนั้นมันควรเก็บ ID ไม่ใช่ข้อมูลส่วนบุคคล

คำศัพท์ที่พบบ่อย

คำศัพท์ความหมาย
Cookieคู่ชื่อ-ค่าขนาดเล็กที่เบราว์เซอร์เก็บไว้และส่งกลับไปยังเว็บ
Set-Cookieheader ของการตอบกลับที่เซิร์ฟเวอร์ใช้สร้างหรืออัปเดตคุกกี้
Sessionบันทึกของเซิร์ฟเวอร์เกี่ยวกับผู้ใช้ที่ล็อกอินอยู่ ผูกกับ ID ของคุกกี้
HttpOnlyหยุดไม่ให้ JavaScript ของหน้าอ่านคุกกี้ ซึ่งจำกัดความเสียหายจากสคริปต์ที่ถูกฉีดเข้ามา
Secureคุกกี้จะถูกส่งเฉพาะผ่านการเชื่อมต่อ HTTPS ที่เข้ารหัส
SameSiteควบคุมว่าคุกกี้จะถูกส่งในคำขอจากเว็บอื่นหรือไม่ (Strict, Lax หรือ None)
Expires / Max-Ageเมื่อใดที่คุกกี้ควรถูกลบ
Domain / Pathที่อยู่ใดบนเว็บที่จะได้รับคุกกี้
localStorageพื้นที่เก็บข้อมูลในเบราว์เซอร์ที่โค้ดหน้าอ่านได้ แต่จะไม่ถูกส่งไปเซิร์ฟเวอร์โดยอัตโนมัติ
XSSCross-site scripting: สคริปต์ของผู้โจมตีที่ทำงานในหน้าของคุณ ซึ่งอาจพยายามขโมยข้อมูล
CSRFCross-site request forgery: เว็บอื่นหลอกเบราว์เซอร์ให้ส่งคำขอพร้อมคุกกี้ของคุณ
Cookie consentการขอความยินยอมจากผู้เข้าชมก่อนตั้งค่าคุกกี้ที่ไม่จำเป็น

ความผิดพลาดและความเข้าใจผิดที่พบบ่อย

  • "คุกกี้คือไวรัส" มันเป็นข้อความธรรมดา ไม่สามารถรันโค้ดบนคอมพิวเตอร์ของคุณได้
  • ใส่ข้อมูลอ่อนไหวในคุกกี้ เก็บ ID สุ่มไว้และเก็บรายละเอียดไว้ที่เซิร์ฟเวอร์
  • เก็บโทเค็นล็อกอินใน localStorage สคริปต์ใดๆ ที่รันบนหน้าอ่าน localStorage ได้ รวมถึงสคริปต์ที่ถูกฉีดเข้ามา คุกกี้ HttpOnly สคริปต์ของหน้าอ่านไม่ได้เลย
  • ขาดแฟลก Secure และ HttpOnly แฟลกสองตัวนี้ทำได้ง่ายและปิดช่องโหว่ทั่วไปได้
  • คิดว่าแบนเนอร์ครอบคลุมทุกอย่าง แบนเนอร์ที่โหลดการวิเคราะห์ก่อนที่ใครจะคลิก "ยอมรับ" ไม่ได้ทำหน้าที่ของมัน
  • ลืมล็อกเอาต์ การล็อกเอาต์ควรลบคุกกี้ และ จบเซสชันบนเซิร์ฟเวอร์ เพื่อให้คุกกี้ที่ถูกคัดลอกใช้ไม่ได้อีก
  • "ถ้าฉันไม่ใช้คุกกี้ กฎความเป็นส่วนตัวก็ไม่ใช้กับฉัน" กฎอย่าง GDPR ครอบคลุมข้อมูลส่วนบุคคลไม่ว่าจะเก็บไว้ที่ใด รวมถึง local storage การระบุลายนิ้วมืออุปกรณ์ และล็อกของเซิร์ฟเวอร์

สิ่งที่ควรขอจาก AI builder ของคุณ

  • "แสดงรายการคุกกี้ทุกตัวที่แอปตั้งค่า มีไว้ทำอะไร อยู่นานแค่ไหน และเป็นคุกกี้จำเป็นอย่างยิ่งหรือไม่"
  • "ใช้คุกกี้ HttpOnly, Secure, SameSite=Lax สำหรับเซสชันการล็อกอิน อย่าใส่โทเค็นการยืนยันตัวตนไว้ใน localStorage"
  • "เก็บเฉพาะ ID เซสชันแบบสุ่มในคุกกี้ และเก็บข้อมูลเซสชันไว้ที่เซิร์ฟเวอร์"
  • "เมื่อล็อกเอาต์ ให้ล้างคุกกี้และยกเลิกเซสชันที่เซิร์ฟเวอร์"
  • "อย่าโหลดสคริปต์การวิเคราะห์หรือการตลาดจนกว่าผู้เข้าชมจะยอมรับ และจำการเลือกของเขาไว้"
  • "เพิ่มส่วนเรื่องคุกกี้แบบง่ายในนโยบายความเป็นส่วนตัวที่ตรงกับรายการข้างต้น"

สำหรับส่วนความยินยอม ดูวิธีเพิ่มการขอความยินยอมคุกกี้ สำหรับวิธีที่คุกกี้เข้ากับการล็อกอิน อ่านการยืนยันตัวตนคืออะไร

คุกกี้ใน Mythex

Mythex ไม่มีการล็อกอินในตัวสำหรับผู้ใช้ของแอปคุณ ดังนั้นคุกกี้ที่แอปของคุณตั้งมาจากโค้ดของแอปเองและเครื่องมือที่คุณเพิ่มเข้าไป เช่น คุกกี้เซสชันจากวิธียืนยันตัวตนที่คุณเลือก ขอให้เอเจนต์ในแชตแสดงรายการ ปรับการตั้งค่าให้เข้มขึ้น หรือเพิ่มแบนเนอร์ความยินยอม และตรวจผลลัพธ์ในพรีวิวสดก่อนเผยแพร่ สูตรในเอกสารเรื่องการเพิ่มการล็อกอินให้แอปของคุณ เป็น prompt เริ่มต้นที่ดี และความปลอดภัยสำหรับแอปที่คุณสร้าง อธิบายการเก็บคีย์และความลับให้ห่างจากเบราว์เซอร์

คำถาม

คุกกี้บนเว็บไซต์คืออะไร?

คุกกี้คือข้อความชิ้นเล็กๆ ที่เว็บไซต์ขอให้เบราว์เซอร์ของคุณเก็บไว้ เบราว์เซอร์จะส่งกลับไปพร้อมทุกคำขอในภายหลังไปยังเว็บนั้น ทำให้เว็บจำสิ่งต่างๆ ได้ เช่น คุณล็อกอินอยู่หรือไม่ หรือมีสินค้าอะไรอยู่ในตะกร้า

คุกกี้อันตรายไหม?

คุกกี้เป็นเพียงข้อมูล ไม่ใช่โปรแกรม ดังนั้นมันรันโค้ดหรือทำให้คอมพิวเตอร์ติดไวรัสไม่ได้ ข้อกังวลคือเรื่องความเป็นส่วนตัว เมื่อคุกกี้จากบุคคลที่สามติดตามคุณข้ามเว็บ และเรื่องความปลอดภัย เมื่อคุกกี้ล็อกอินถูกขโมยไปและนำไปใช้แอบอ้างเป็นคุณ

คุกกี้ First-party กับ Third-party ต่างกันอย่างไร?

คุกกี้ First-party ถูกตั้งโดยเว็บที่อยู่บนแถบที่อยู่ของเบราว์เซอร์ เช่น คุกกี้ล็อกอิน ส่วนคุกกี้ Third-party ถูกตั้งโดยโดเมนอื่นที่ฝังอยู่ในหน้า เช่น เครือข่ายโฆษณา และมักใช้ติดตามคุณข้ามเว็บจำนวนมาก

ฉันต้องมีแบนเนอร์คุกกี้ไหม?

ขึ้นอยู่กับว่าผู้ใช้ของคุณอยู่ที่ไหน และคุณใช้คุกกี้อะไร ใน EU และสหราชอาณาจักร คุกกี้ที่ไม่จำเป็น เช่น การวิเคราะห์หรือโฆษณา โดยทั่วไปต้องได้รับความยินยอมก่อน ส่วนคุกกี้ที่จำเป็นอย่างยิ่งต่อบริการ เช่น เซสชันการล็อกอิน มักไม่ต้อง ตรวจสอบกฎที่ใช้กับคุณ

คุกกี้กับ localStorage ต่างกันอย่างไร?

ทั้งสองเก็บข้อมูลไว้ในเบราว์เซอร์ คุกกี้ถูกส่งไปยังเซิร์ฟเวอร์โดยอัตโนมัติพร้อมทุกคำขอ ซึ่งเหมาะกับการล็อกอิน ส่วน localStorage อยู่ในเบราว์เซอร์และมีเพียงโค้ดของหน้าเองที่อ่านได้ ซึ่งเหมาะกับการตั้งค่า เช่น ธีม

Mythex · Pricing · สร้างอะไรก็ได้ด้วย AI · เทมเพลตเว็บไซต์และแอป · เปรียบเทียบ Mythex · อภิธานศัพท์การสร้างแอปด้วย AI · เครื่องมือฟรีสำหรับสร้างแอปด้วย AI · 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 简体中文 繁體中文(香港) 繁體中文(台灣)