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

สามคำถาม หนึ่งอาการ

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

What you changedWhat it actually tests
VPN exit addressWhether the site treats a different network origin differently
Cookie jar for one siteWhether a stored identifier was doing the recognition
Browser profile or accountWhether identity, rather than storage, links the visits

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

คุกกี้แบกอะไรไว้จริง ๆ

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

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

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

ตัดสินใจว่าการทดสอบของคุณกำลังวัดอะไร

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

curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' https://shop.example/cart
curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' --interface 198.51.100.44 https://shop.example/cart

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

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

ล้างสถานะที่ถูกต้อง ไม่ใช่เครือข่าย

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

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

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

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

บทความที่เกี่ยวข้อง