Dalam pembangunan bahagian hadapan, terdapat masalah merentas domain antara halaman terbenam
Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.
Dalam pembangunan bahagian hadapan, terdapat masalah merentas domain antara halaman yang dibenamkan dalam
Domain ini terdiri daripada protokol, nama hos dan nombor port, seperti https://example.com:8080. Jika halaman terbenam mempunyai domain yang berbeza daripada halaman induk, anda akan menghadapi masalah merentas domain. Ini kerana penyemak imbas mengehadkan pelaksanaan skrip merentas domain atas sebab keselamatan untuk mengelakkan serangan skrip berniat jahat.
Untuk menyelesaikan masalah merentas domain, anda boleh menetapkan domain melalui kaedah berikut:
Gunakan atribut kotak pasir: Atribut kotak pasir boleh digunakan untuk mengehadkan fungsi halaman terbenam, dengan itu mengurangkan risiko keselamatannya. Pada masa yang sama, ia juga boleh digunakan untuk menetapkan domain . Contohnya:
Di sini, domain ditetapkan untuk sama dengan halaman induk, iaitu, hanya sumber yang dimiliki oleh domain yang sama dengan halaman induk dibenarkan untuk dimuatkan.
Tetapkan document.domain dalam halaman terbenam: Jika nama domain utama halaman terbenam dan halaman induk adalah sama, anda boleh membatalkan sekatan merentas domain dengan menetapkan document.domain dalam kedua-dua halaman. Contohnya:
Gunakan API postMessage: API postMessage boleh digunakan untuk menghantar mesej antara tingkap untuk mencapai komunikasi merentas domain. Komunikasi merentas domain yang selamat boleh dicapai dengan menggunakan kaedah window.postMessage() dalam halaman induk dan halaman terbenam untuk menghantar dan menerima mesej masing-masing.
Perlu diambil perhatian bahawa tidak disyorkan untuk menggunakan untuk membenamkan kandungan daripada domain lain melainkan perlu, kerana ini mungkin memperkenalkan kelemahan keselamatan dan isu prestasi.
Atas ialah kandungan terperinci Apakah domain iframe. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn