2
Safari 13+ iframe บล็อกคุกกี้ CORS
Safari flat out ไม่อนุญาตให้คุณตั้งค่าคุกกี้ใน iframes ของโดเมนที่แตกต่างจากโดเมนหลักส่วนหัว CORS ฝั่งเซิร์ฟเวอร์จะถูกสาป ในการชี้แจง: ผู้ใช้อยู่ใน domainA.com iframe สำหรับ domainB.com เปิดอยู่และพยายามตรวจสอบสิทธิ์ผู้ใช้ใน domainB.com ภายใน iframe ส่วนหัว Set-Cookie จะถูกส่งคืนจากเซิร์ฟเวอร์ภายใน domainB.com iframe พร้อมด้วยส่วนหัวที่จำเป็นทั้งหมด แต่ Safari ไม่ได้ส่งสายกลับในการโทรครั้งต่อไป วิธีแก้ปัญหาแบบเก่ากำลังส่งฟอร์มจาก iframe และตั้งค่าคุกกี้ในการตอบกลับ ฉันเดาว่าพวกเขาชอบความจริงที่ว่าผู้ใช้คลิกที่สิ่งที่ต้องการส่งแบบฟอร์ม คุณจะต้องสำรวจความคิดเห็นของคุกกี้เพื่อดูว่าเมื่อใดที่การตอบกลับกลับมาเนื่องจากการส่งแบบฟอร์มไม่มีการเรียกกลับและในกรณีของคุกกี้ HttpOnly ที่คุณทำไม่ได้ แต่เดี๋ยวก่อนทำงานได้! จนกว่ามันจะไม่ จากนั้นวิธีแก้ปัญหาล่าสุดได้เปลี่ยนเส้นทางผู้ใช้ไปยังโดเมน iframe ในหน้าต่าง / แท็บใหม่การตั้งค่าคุกกี้แบบสุ่มที่นั่นและหลังจากนั้นเป็นต้นมาโดเมนย่อยนั้น "เชื่อถือได้" ภายใน iframe อีกครั้งต้องคลิกเพื่อเปิดหน้าต่าง / แท็บใหม่และยังมีข้อบ่งชี้ที่มองเห็นได้ของการเปิดแท็บใหม่ ความปลอดภัยมากมาตรฐานเช่นนี้ และในตอนนี้เช่นเดียวกับ Safari …