Rumah >hujung hadapan web >tutorial js >Bolehkah Iframes Mengakses URL Halaman Induk Merentas Subdomain?

Bolehkah Iframes Mengakses URL Halaman Induk Merentas Subdomain?

Barbara Streisand
Barbara Streisandasal
2024-11-16 00:05:03666semak imbas

Can Iframes Access the Parent Page's URL Across Subdomains?

Mengakses URL Induk daripada Iframe

Walaupun berada pada domain yang sama, ketidakupayaan untuk mendapatkan semula URL halaman induk melalui iframe sering timbul apabila subdomain berbeza. Tingkah laku ini menimbulkan persoalan: adakah skrip merentas tapak (XSS) meluas ke subdomain?

Memahami Sekatan

Jawapannya terletak pada langkah keselamatan penyemak imbas. Walaupun halaman utama dan iframe berkongsi domain (cth., www.mysite.com), perbezaan subdomain (cth., www lwn. qa-www) terletak di bawah "asal-usul" yang berbeza. Pemisahan ini menghalang pelakon berniat jahat daripada mengakses dan memanipulasi data merentas tapak web yang berbeza dan subdomain mereka.

Penyelesaian Alternatif

Manakala akses terus ke URL halaman induk dihadkan kerana XSS kebimbangan, pendekatan alternatif boleh memberikan maklumat yang diperlukan. Untuk mendapatkan URL halaman induk (iaitu, URL penyemak imbas), kod berikut boleh digunakan:

var url = (window.location != window.parent.location)
            ? document.referrer
            : document.location.href;

Nota:

  • window.parent.location boleh diakses dan mengelakkan ralat keselamatan.
  • document.referrer mungkin tidak sentiasa mengembalikan URL dokumen yang mengandungi jika sumber luaran mempengaruhi lokasi iframe.
  • document.location merujuk kepada dokumen semasa (iframe) dan URLnya. Ia menyediakan URL induk yang diingini jika iframe dan induk berkongsi href yang sama.

Atas ialah kandungan terperinci Bolehkah Iframes Mengakses URL Halaman Induk Merentas Subdomain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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