ตามค่าเริ่มต้น CORS จะไม่รวมคุกกี้ในคำขอข้ามทาง สิ่งนี้แตกต่างจากเทคนิคการข้ามจุดกำเนิดอื่น ๆ เช่น JSON-P JSON-P มักจะรวมถึงคุกกี้ที่มีการร้องขอและพฤติกรรมนี้สามารถนำไปสู่คลาสของช่องโหว่ที่เรียกว่าการปลอมแปลงคำขอข้ามไซต์หรือ CSRF
เพื่อลดโอกาสของช่องโหว่ CSRF ใน CORS CORS กำหนดให้ทั้งเซิร์ฟเวอร์และไคลเอนต์รับทราบว่าการรวมคุกกี้ไว้ในการร้องขอนั้นใช้ได้ การทำเช่นนี้ทำให้คุกกี้มีการตัดสินใจอย่างแข็งขันมากกว่าสิ่งที่เกิดขึ้นแบบไม่โต้ตอบโดยไม่มีการควบคุมใด ๆ
รหัสลูกค้าจะต้องกำหนดwithCredentials
คุณสมบัติในXMLHttpRequest
การtrue
เพื่อที่จะให้ได้รับอนุญาต
อย่างไรก็ตามส่วนหัวนี้เพียงอย่างเดียวไม่เพียงพอ เซิร์ฟเวอร์ต้องตอบกลับด้วยAccess-Control-Allow-Credentials
ส่วนหัว การตอบสนองด้วยส่วนหัวนี้true
หมายความว่าเซิร์ฟเวอร์อนุญาตให้รวมคุกกี้ (หรือข้อมูลรับรองผู้ใช้อื่น ๆ ) ไว้ในคำขอข้ามทาง
คุณต้องตรวจสอบให้แน่ใจว่าเบราว์เซอร์ของคุณไม่ได้บล็อกคุกกี้ของบุคคลที่สามหากคุณต้องการให้มีการขอหนังสือรับรองจากต้นทาง
โปรดทราบว่าไม่ว่าคุณจะทำคำขอต้นทางหรือข้ามหน้าที่เดียวกันคุณต้องปกป้องไซต์ของคุณจาก CSRF (โดยเฉพาะถ้าคำขอของคุณมีคุกกี้)