در این لبه کد، ببینید که چگونه سیاست یکسانی هنگام دسترسی به دادههای داخل iframe کار میکند.
راهاندازی: صفحه با iframe با همان مبدا
این صفحه یک iframe
به نام iframe.html
را در همان مبدا تعبیه می کند. از آنجایی که هاست و iframe منشا یکسانی دارند، سایت میزبان میتواند به دادههای داخل iframe دسترسی داشته باشد و پیام مخفی را مانند ضربه افشا کند.
const iframe = document.getElementById('iframe');
const message = iframe.contentDocument.getElementById('message').innerText;
به iframe متقاطع تغییر دهید
src
iframe
را به https://other-iframe.glitch.me/
تغییر دهید. آیا صفحه میزبان همچنان می تواند به پیام مخفی دسترسی داشته باشد؟
از آنجایی که میزبان و iframe
تعبیه شده منشا یکسانی ندارند، دسترسی به داده ها محدود شده است.