ไม่มีคุกกี้สยอง

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

คุกกี้จะอร่อยที่สุดเมื่ออบสดๆ มาดูสูตรล่าสุดที่จะทำให้คุณเพลิดเพลินกับช่วงเทศกาลวันฮาโลวีนด้วยคุกกี้แสนอร่อยกัน

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

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

คุกกี้ของบุคคลที่สามซึ่งมีค่าแบบง่าย เช่น theme=bats หรือ fav_pumpkins=us-nyc

หากมีการใช้คุกกี้ดังกล่าวในเว็บไซต์เดียวกันกับที่ตั้งค่า เรามักจะเรียกคุกกี้นั้นว่าคุกกี้ของบุคคลที่หนึ่ง หากมีการใช้คุกกี้เป็นส่วนหนึ่งของเว็บไซต์อื่นที่ไม่ใช่เว็บไซต์ที่ตั้งค่าคุกกี้นั้น เราเรียกว่าคุกกี้ของบุคคลที่สาม ตัวอย่างเช่น คุกกี้ theme=bats ของฉันจะเป็นคุกกี้ของบุคคลที่หนึ่งหากฉันกําลังเข้าชมเว็บไซต์เดียวกันกับที่ตั้งค่าคุกกี้ดังกล่าว แต่หากคุกกี้ดังกล่าวรวมอยู่ใน iframe หรือทรัพยากรข้ามเว็บไซต์อื่นๆ เป็นส่วนหนึ่งของเว็บไซต์อื่น ก็จะเป็นคุกกี้ของบุคคลที่สาม

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

คุกกี้ของบุคคลที่สามที่มีรหัสที่ไม่ซ้ำกัน ซึ่งช่วยให้เว็บไซต์ของบุคคลที่สามติดตามผู้ใช้ทั่วทั้งเว็บได้

คุกกี้ของบุคคลที่หนึ่งโดยค่าเริ่มต้น

เรามีความคืบหน้าในเส้นทางนี้แล้ว ก่อนหน้านี้การตั้งค่าคุกกี้ธรรมดา theme=pumpkins จะเป็นการส่งคุกกี้ในบริบททั้งหมด ไม่ว่าจะเป็นในเว็บไซต์เดียวกันหรือข้ามเว็บไซต์ เว็บไซต์ส่วนใหญ่ต้องการให้มีการส่งคุกกี้ในบริบทของเว็บไซต์เดียวกันเท่านั้น ซึ่งควบคุมได้ผ่านแอตทริบิวต์ SameSite ในคุกกี้ เช่น

Set-Cookie: theme=bats; SameSite=Lax

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

ดังนั้น SameSite=Lax จึงเป็นค่าเริ่มต้น หากคุณตั้งค่าเป็น theme=bats ระบบจะส่งเฉพาะในบริบทของเว็บไซต์เดียวกัน

ค่าเริ่มต้น SameSite=Lax จะหยุดการส่งคุกกี้ในบริบทของบุคคลที่สาม

หากต้องการคุกกี้ข้ามเว็บไซต์หรือคุกกี้ของบุคคลที่สาม (ในกรณีที่คุณต้องการธีมที่แสดงในวิดเจ็ตที่ฝัง) คุณต้องระบุข้อมูลต่อไปนี้

Set-Cookie: theme=bats; SameSite=None; Secure
ค่า SameSite=None ที่ชัดเจนจะทําเครื่องหมายคุกกี้ที่จะส่งในบริบทแบบข้ามเว็บไซต์

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

คุกกี้ของบุคคลที่หนึ่งแสนอร่อยยิ่งขึ้น

แม้ว่าค่าเริ่มต้นจะดีขึ้นเล็กน้อย แต่ก็ยังมีช่องว่างให้คุณปรับปรุงสูตรนั้น ตัวอย่างคร่าวๆ มีดังนี้

Set-Cookie:  __Host-theme=bats;
  Secure;
  Path=/;
  HttpOnly;
  Max-Age=7776000;
  SameSite=Lax;

ซึ่งจะเป็นการสร้างคุกกี้ของบุคคลที่หนึ่งซึ่งจํากัดไว้ที่โดเมนเดียวเท่านั้น การเชื่อมต่อที่ปลอดภัย ไม่มีการเข้าถึงโดย JavaScript หมดอายุโดยอัตโนมัติก่อนที่จะล้าสมัย และ (แน่นอน) อนุญาตเฉพาะในบริบทของเว็บไซต์เดียวกัน

คุกกี้จะอร่อยยิ่งขึ้นเมื่อใช้ CHIPS

หนึ่งในแง่มุมที่น่าอัศจรรย์ของเว็บคือความสามารถในการเขียนเว็บไซต์หลายรายการร่วมกัน สมมติว่าฉันต้องการสร้างวิดเจ็ตแผนที่ที่ช่วยให้เว็บไซต์อื่นๆ แสดงทัวร์ชมฟาร์มปังปั่นที่ดีที่สุดหรือเส้นทางรับช่วงเทศกาลวันฮาโลวีน บริการของฉันใช้คุกกี้เพื่อให้ผู้ใช้จัดเก็บความคืบหน้าตลอดเส้นทาง ปัญหาคือคุกกี้ของบุคคลที่สามเดียวกันนี้จะถูกส่งในเว็บไซต์ฟาร์มปังปั่นเช่นเดียวกับในเว็บไซต์รับช่วงเทศกาล ฉันไม่ต้องการติดตามผู้ใช้ระหว่างเว็บไซต์ แต่เบราว์เซอร์ใช้คุกกี้เพียง 1 คุกกี้เท่านั้น ฉันจึงแยกการใช้งานนั้นไม่ได้

คุกกี้ข้ามเว็บไซต์ที่มี SameSite=None จะยังคงอยู่ในโฟลเดอร์คุกกี้ที่แชร์

ด้วยเหตุนี้ ข้อเสนอ Cookies Having Independent Partitioned State หรือ CHIPS จึงเกิดขึ้น แทนที่จะมีโฟลเดอร์คุกกี้ที่ใช้ร่วมกันโฟลเดอร์เดียว จะมีโฟลเดอร์คุกกี้แยกต่างหากและมีการแบ่งพาร์ติชันตามเว็บไซต์ระดับบนสุด เว็บไซต์จะเลือกใช้การตั้งค่านี้โดยใช้แอตทริบิวต์ Partitioned ในคุกกี้

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
แอตทริบิวต์ "แบ่งพาร์ติชัน" ในคุกกี้จะสร้างโฟลเดอร์คุกกี้แยกกันสำหรับเว็บไซต์ระดับบนสุดแต่ละแห่ง

ทุกคนจะได้มีโฟลเดอร์คุกกี้ของตัวเองแทนที่จะต้องแชร์โฟลเดอร์เดียวกัน ง่ายขึ้น ปลอดภัยขึ้น และถูกสุขอนามัยมากขึ้น

เราเพิ่งส่งความตั้งใจที่จะเปิดตัวคุกกี้ที่มีสถานะแยกพาร์ติชันอิสระ (CHIPS) ใน Chrome 109 ซึ่งหมายความว่าคุกกี้เหล่านี้จะพร้อมให้ทดสอบในรุ่นเบต้าในเดือนธันวาคมและพร้อมใช้งานในรุ่นเสถียรในเดือนมกราคม 2023 ดังนั้น หากคุณกำลังมองหาปณิธานปีใหม่เพื่อปรับปรุงสูตรคุกกี้ของเว็บไซต์ ก็ลองดูว่าเริ่มใส่ CHIPS ลงในคุกกี้ข้ามเว็บไซต์ได้ไหม

การเชิญคุกกี้ให้เข้าร่วมเซสชันด้วยชุดของบุคคลที่หนึ่ง

ในส่วนของความคิดเห็นจากนักพัฒนาซอฟต์แวร์ หลายๆ คนชี้แจงอย่างชัดเจนว่าในบางสถานการณ์ คุณต้องแชร์บริการในเว็บไซต์ที่คุณควบคุมและต้องการที่จะใช้คุกกี้ในเว็บไซต์เหล่านั้น แต่ต้องไม่อนุญาตให้ส่งคุกกี้ในบริบทของบุคคลที่สาม ตัวอย่างเช่น คุณอาจมี pretty-pumpkins.com และ pretty-pumpkins.co.uk คุณอาจมีระบบการลงชื่อเพียงครั้งเดียวที่ใช้คุกกี้ซึ่งใช้ได้กับเว็บไซต์เหล่านี้ CHIPS ใช้งานไม่ได้เนื่องจากฉันต้องลงชื่อเข้าใช้ทั้ง 2 เว็บไซต์ ข้อกำหนดคือฉันต้องมีคุกกี้เดียวกันในเว็บไซต์ที่เกี่ยวข้องเหล่านี้

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

  • ช่วยให้องค์กรมีวิธีกำหนดกลุ่มเว็บไซต์ที่ควรเป็นบุคคลเดียวกัน
  • ใช้ประโยชน์จาก Storage Access API เพื่อขอสิทธิ์เข้าถึงคุกกี้ข้ามเว็บไซต์ภายในชุดของบุคคลที่หนึ่งนั้น
ชุดของบุคคลที่หนึ่งจะอนุญาตให้ใช้คุกกี้ที่แชร์ได้เฉพาะระหว่างเว็บไซต์ที่เกี่ยวข้องเท่านั้น

คุกกี้เหล่านี้ยังอยู่ในเตาอบ แต่คุณสามารถดูคู่มือนักพัฒนาซอฟต์แวร์ชุดโดเมนของบุคคลที่หนึ่งเมื่อเรามีคุกกี้อื่นๆ ให้คุณทดสอบ หรือจะเข้าร่วมการเสนอWICG/first-party-sets ก็ได้หากต้องการมีส่วนร่วมในการสนทนา

อย่าปล่อยให้คุกกี้หมดอายุ

เป้าหมายของเราคือการเริ่มเลิกรองรับคุกกี้ของบุคคลที่สามใน Chrome ตั้งแต่ช่วงกลางปี 2024 คุณยังมีเวลาเตรียมตัว แต่ควรเริ่มวางแผนตั้งแต่ตอนนี้

  1. ตรวจสอบโค้ดเพื่อหาคุกกี้ที่มี SameSite=None คุกกี้เหล่านี้จะต้องอัปเดต
  2. หากไม่มีคุกกี้ของบุคคลที่สาม ให้ตรวจสอบว่าคุกกี้ในเว็บไซต์เดียวกันใช้สูตรคุกกี้ของบุคคลที่หนึ่งที่ดีที่สุด
  3. หากคุณใช้คุกกี้เหล่านั้นในบริบทที่ฝังไว้อย่างสมบูรณ์ ให้ตรวจสอบและทดสอบข้อเสนอ CHIPS
  4. หากต้องการคุกกี้เหล่านั้นในหลายเว็บไซต์ที่รวมกันเป็นกลุ่มที่เหนียวแน่น ให้ตรวจสอบข้อเสนอชุดของบุคคลที่หนึ่ง
  5. หากคุณไม่อยู่ในขอบเขตของตัวเลือกใดตัวเลือกหนึ่งเหล่านี้ คุณจะต้องตรวจสอบข้อเสนอ Privacy Sandbox อื่นๆ ซึ่งเรากําลังพัฒนา API ที่สร้างขึ้นเพื่อวัตถุประสงค์เฉพาะสําหรับกรณีการใช้งานแต่ละรายการที่ไม่อาศัยการติดตามข้ามเว็บไซต์

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

ดังนั้น โปรดจำไว้ว่าคุกกี้อาจอร่อย แต่ควรกินทีละน้อยและอย่าพยายามขโมยคุกกี้ของคนอื่น