พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA) ของไทย ซึ่งเริ่มบังคับใช้เต็มรูปแบบในปี 2565 กำหนดให้ต้องขอความยินยอมก่อนเก็บหรือประมวลผลข้อมูลส่วนบุคคล และตัวระบุที่เก็บไว้ในคุกกี้โฆษณาหรือคุกกี้วิเคราะห์พฤติกรรมที่เชื่อมโยงกับผู้ใช้รายใดรายหนึ่งได้ก็ถือว่าเข้าข่ายนี้ด้วย นี่คือเหตุผลที่เว็บไซต์ไทยจำนวนมากเริ่มแสดงแบนเนอร์ขอความยินยอมคุกกี้อย่างจริงจังในช่วงไม่กี่ปีที่ผ่านมา หลัง PDPA มีผลบังคับใช้เต็มรูปแบบ
แอตทริบิวต์ Secure
แอตทริบิวต์ Secure บอกเบราว์เซอร์ให้ส่งคุกกี้เฉพาะผ่านการเชื่อมต่อ HTTPS ที่เข้ารหัสเท่านั้น หากไม่มีแอตทริบิวต์นี้ คุกกี้อาจถูกส่งผ่าน HTTP ธรรมดาเป็นข้อความล้วน ซึ่งเสี่ยงต่อการถูกดักจับบนเครือข่าย Wi-Fi สาธารณะ เช่น ในร้านกาแฟหรือห้างสรรพสินค้า
แอตทริบิวต์ HttpOnly
คุกกี้ที่ทำเครื่องหมายด้วย HttpOnly ไม่สามารถอ่านได้จาก JavaScript (document.cookie) นี่เป็นการป้องกันที่ตรงจุดที่สุดต่อการขโมยเซสชันผ่านการโจมตี XSS: แม้ผู้โจมตีจะแทรกสคริปต์อันตรายลงในหน้าเว็บได้สำเร็จ ก็ยังเข้าถึงคุกกี้เซสชันที่มีแอตทริบิวต์นี้ไม่ได้
แอตทริบิวต์ SameSite
แอตทริบิวต์ SameSite จำกัดว่าคุกกี้จะถูกส่งเมื่อมีการนำทางข้ามไซต์หรือไม่ และเป็นการป้องกันหลักต่อการโจมตี CSRF ค่า Strict ป้องกันการส่งข้ามไซต์อย่างสมบูรณ์ ค่า Lax ซึ่งเป็นค่าเริ่มต้นของเบราว์เซอร์สมัยใหม่ทุกตัวในปัจจุบัน อนุญาตในกรณีอย่างการคลิกลิงก์ ส่วนค่า None จะยกเลิกข้อจำกัดนั้นแต่ต้องมีแอตทริบิวต์ Secure ควบคู่ไปด้วยเสมอ
เหตุใดจึงจำเป็น
- ตั้งค่าคุกกี้เซสชันที่ปลอดภัยสำหรับเว็บแอปของคุณเอง — ในเฟรมเวิร์ก Laravel ซึ่งเป็นที่นิยมมากในหมู่นักพัฒนาไทย แอตทริบิวต์เหล่านี้ถูกกำหนดตรงในไฟล์
config/session.php - ตรวจสอบว่าเว็บไซต์โหลดคุกกี้บุคคลที่สามตัวใดบ้างจริง ๆ ก่อนร่างประกาศความยินยอมตาม PDPA
- วินิจฉัยว่าเหตุใดเบราว์เซอร์จึงไม่เก็บหรือไม่ส่งคุกกี้ในบางสถานการณ์
แอตทริบิวต์ Partitioned และอนาคตที่ไม่มีคุกกี้บุคคลที่สาม
ในฐานะส่วนหนึ่งของโครงการ CHIPS (Cookies Having Independent Partitioned State) แอตทริบิวต์ Partitioned ทำให้เว็บไซต์ที่ฝังอยู่ใน <iframe> สามารถมีคุกกี้คนละเวอร์ชันสำหรับแต่ละเว็บไซต์หลักที่ฝังมันไว้ แทนที่จะใช้คุกกี้เดียวที่แชร์ร่วมกันทั้งหมด นี่เป็นการประนีประนอมระหว่างการบล็อกคุกกี้บุคคลที่สามทั้งหมด — ซึ่งทำให้วิดเจ็ตที่ถูกต้องตามกฎหมาย เช่น การชำระเงินหรือแชท ใช้งานไม่ได้ — กับโมเดลการติดตามข้ามไซต์แบบเก่าที่คุกกี้โฆษณาตัวเดียวสามารถติดตามผู้ใช้ได้ทั่วทั้งเว็บ