วิธีทั่วไปในการตรวจสอบการรองรับคุกกี้คือการเปลี่ยนเส้นทาง
เป็นความคิดที่ดีที่จะทำก็ต่อเมื่อผู้ใช้พยายามทำสิ่งที่เริ่มเซสชันเช่นการเข้าสู่ระบบหรือเพิ่มบางอย่างลงในรถเข็นของพวกเขา มิฉะนั้นคุณอาจบล็อกการเข้าถึงทั้งไซต์ของคุณสำหรับผู้ใช้หรือบ็อตที่ไม่รองรับคุกกี้ทั้งนี้ขึ้นอยู่กับว่าคุณจัดการอย่างไร
ขั้นแรกเซิร์ฟเวอร์จะตรวจสอบข้อมูลการเข้าสู่ระบบตามปกติ - หากข้อมูลการเข้าสู่ระบบไม่ถูกต้องผู้ใช้จะได้รับคำติชมนั้นตามปกติ หากถูกต้องเซิร์ฟเวอร์จะตอบสนองทันทีด้วยคุกกี้และเปลี่ยนเส้นทางไปยังหน้าที่ออกแบบมาเพื่อตรวจสอบคุกกี้นั้นซึ่งอาจเป็นเพียง URL เดียวกัน แต่มีการตั้งค่าสถานะบางอย่างในสตริงข้อความค้นหา หากหน้าที่สองไม่ได้รับคุกกี้ผู้ใช้จะได้รับข้อความแจ้งว่าไม่สามารถเข้าสู่ระบบได้เนื่องจากคุกกี้ถูกปิดใช้งานบนเบราว์เซอร์ของตน
หากคุณติดตามรูปแบบ Post-Redirect-Get สำหรับแบบฟอร์มเข้าสู่ระบบของคุณอยู่แล้วการตั้งค่านี้และการตรวจสอบคุกกี้จะไม่เพิ่มคำขอเพิ่มเติมใด ๆ - สามารถตั้งค่าคุกกี้ระหว่างการเปลี่ยนเส้นทางที่มีอยู่และตรวจสอบโดยปลายทางที่โหลด หลังจากเปลี่ยนเส้นทาง
เหตุใดฉันจึงทำการทดสอบคุกกี้หลังจากการกระทำที่เริ่มโดยผู้ใช้เท่านั้นนอกเหนือจากการโหลดทุกหน้า ฉันเคยเห็นไซต์ใช้การทดสอบคุกกี้ในทุกๆหน้าโดยไม่ทราบว่าสิ่งนี้จะมีผลกระทบต่อสิ่งต่างๆเช่นเครื่องมือค้นหาที่พยายามรวบรวมข้อมูลไซต์ นั่นคือหากผู้ใช้เปิดใช้งานคุกกี้คุกกี้ทดสอบจะถูกตั้งค่าเพียงครั้งเดียวดังนั้นพวกเขาจะต้องอดทนต่อการเปลี่ยนเส้นทางในหน้าแรกที่พวกเขาร้องขอเท่านั้นและจากนั้นจะไม่มีการเปลี่ยนเส้นทาง อย่างไรก็ตามสำหรับเบราว์เซอร์หรือตัวแทนผู้ใช้อื่น ๆ เช่นเครื่องมือค้นหาที่ไม่ส่งคืนคุกกี้ทุกๆหน้าอาจทำให้เกิดการเปลี่ยนเส้นทาง
อีกวิธีหนึ่งในการตรวจสอบการรองรับคุกกี้คือการใช้ Javascript วิธีนี้ไม่จำเป็นต้องเปลี่ยนเส้นทางคุณสามารถเขียนคุกกี้และอ่านกลับได้ทันทีเพื่อดูว่ามีการจัดเก็บและเรียกข้อมูลแล้วหรือไม่ ข้อเสียคือมันทำงานในสคริปต์บนฝั่งไคลเอ็นต์ - กล่าวคือหากคุณยังต้องการข้อความเกี่ยวกับว่าคุกกี้ได้รับการสนับสนุนเพื่อกลับไปยังเซิร์ฟเวอร์หรือไม่คุณก็ยังต้องจัดระเบียบสิ่งนั้นเช่นการโทร Ajax
สำหรับแอปพลิเคชันของฉันฉันใช้การป้องกันบางอย่างสำหรับการโจมตี 'เข้าสู่ระบบ CSRF' ซึ่งเป็นรูปแบบหนึ่งของการโจมตี CSRF โดยการตั้งค่าคุกกี้ที่มีโทเค็นแบบสุ่มบนหน้าจอเข้าสู่ระบบก่อนที่ผู้ใช้จะเข้าสู่ระบบและตรวจสอบโทเค็นนั้นเมื่อผู้ใช้ส่งการเข้าสู่ระบบ รายละเอียด. อ่านเพิ่มเติมเกี่ยวกับการเข้าสู่ระบบ CSRF จาก Google ผลข้างเคียงคือเมื่อพวกเขาเข้าสู่ระบบฉันสามารถตรวจสอบการมีอยู่ของคุกกี้นั้นได้ - ไม่จำเป็นต้องเปลี่ยนเส้นทางเพิ่มเติม