วิธีใช้ iFrame โดยไม่มีข้อผิดพลาด CORS

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

ฉันมี:

<div id="top">
   some menu options here
</div>
<div id="frame">
    <iframe id="newsViewer" src="http://www.bbc.com"  frameBorder="0" border="0">Sorry, please enable iFrames to view this</iframe>
</div>

...และ CSS:

#top {
    background: rgb(249,249,249);
    position: fixed;
    height: 90px;
    top: 0px;
    left: 0px;
    width: 100%;

}
#frame {
    /*background:red;*/
    border-top: 4px dashed #eee;
    position: fixed;
    top: 90px;
    left: 0px;
    height: 100px;
    width: 100%;
}

https://jsfiddle.net/h2nyLhmu/

สิ่งนี้ทำให้เกิดข้อผิดพลาด CORS แม้ว่า:

โหลดถูกปฏิเสธโดย X-Frame-Options: http://www.bbc.co.uk/ ทำ ไม่อนุญาตให้ทำเฟรมแบบข้ามแหล่งกำเนิด

ฉันเข้าใจว่าทำไมพวกเขาถึงทำมัน แต่มันทำให้โมเดลทั้งหมดของระบบที่ฉันจะใช้แสดงลิงก์เสียหายโดยสิ้นเชิง :/


person Andrew Newby    schedule 15.04.2016    source แหล่งที่มา
comment
ปัญหาด้านความปลอดภัยก็คือปัญหาด้านความปลอดภัย และฉันไม่คิดว่าจะมีวิธีใดที่จะเลี่ยงการรักษาความปลอดภัยได้   -  person Justinas    schedule 15.04.2016
comment
@Justinas - ขอบคุณ ฉันรู้สึกว่าคุณจะพูดอย่างนั้น :(   -  person Andrew Newby    schedule 15.04.2016
comment
นี่ไม่ใช่ข้อผิดพลาด CORS (เช่น ปัญหาไม่ได้เกิดขึ้นหรือแก้ไขโดยส่วนหัว CORS และไม่เกี่ยวข้องกับนโยบายต้นกำเนิดเดียวกันตามปกติของเบราว์เซอร์) แต่เป็น กลไกในการป้องกันการโจมตีด้วยการคลิกแจ็ค   -  person apsillers    schedule 15.04.2016
comment
@apsillers - ขอบคุณ ใช่แล้ว คิดว่ามันมากเหมือนกัน เพื่อนแนะนำให้ฉันลองใช้พร็อกซีสคริปต์บนเซิร์ฟเวอร์ เพื่อดาวน์โหลดเพจ จากนั้นให้บริการในเครื่อง (ปรับแต่งเพื่อให้ลิงก์บนเพจเปิดขึ้นในลิงก์ภายนอก ซึ่งไม่ใช่สิ่งที่ฉันเป็นเหมือนกัน กระตือรือร้น - แต่อาจไม่มีทางเลือก)   -  person Andrew Newby    schedule 16.04.2016
comment
@AndrewNewby หากคุณต้องการแสดงเพจใน iframe นั่นเป็นตัวเลือกเดียวของคุณ อย่างไรก็ตาม พิจารณาว่าด้วยแนวทางดังกล่าว คุณกำลังสร้างสำเนาของเพจเป้าหมาย และอาจประสบปัญหาด้านลิขสิทธิ์ หากคุณมีขนาดใหญ่พอที่จะดึงดูดความสนใจของเจ้าของเพจที่มีเฟรม   -  person apsillers    schedule 18.04.2016


คำตอบ (1)