Rumah hujung hadapan web tutorial js js menetapkan document.domain untuk mencapai kemahiran analisis_javascript mata perhatian merentas domain

js menetapkan document.domain untuk mencapai kemahiran analisis_javascript mata perhatian merentas domain

May 16, 2016 pm 03:58 PM
js Nota Domain silang

Contoh artikel ini menganalisis perkara yang perlu diperhatikan semasa menetapkan document.domain dalam js untuk mencapai pelaksanaan merentas domain. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

document.domain
Digunakan untuk mendapatkan nama domain halaman web semasa.
Contohnya, masukkan dalam bar alamat:

Salin kod Kod adalah seperti berikut:
javascript:alert(document.domain); bersih

Kami juga boleh menetapkan nilai pada atribut document.domain, tetapi terdapat sekatan Anda hanya boleh menetapkannya pada nama domain semasa atau nama domain asas.
Contohnya:

Salin kod Kod adalah seperti berikut:
javascript:alert(document.domain = "jb51.net"); //jb51 .net
javascript:alert(document.domain = "www.jb51.net"); //www.jb51.net

Tugasan di atas semuanya berjaya kerana www.jb51.net ialah nama domain semasa dan jb51.net ialah nama domain asas.

Tetapi tugasan berikut akan menyebabkan ralat "parameter tidak sah":

Salin kod Kod adalah seperti berikut:
javascript:alert(document.domain = "cctv.net"); //Parameter Tidak Sah
javascript:alert(document.domain = "www.jb51.net"); //Parameter tidak sah

Oleh kerana cctv.net dan www.jb51.net bukan nama domain semasa mahupun nama domain asas nama domain semasa, ralat akan berlaku.
Ini adalah untuk menghalang seseorang daripada mengubah suai document.domain secara berniat jahat untuk mencuri data merentas domain.

Gunakan document.domain untuk mencapai merentas domain:

Prasyarat: Kedua-dua nama domain ini mestilah tergolong dalam nama domain asas yang sama Dan protokol serta port yang digunakan mestilah konsisten, jika tidak document.domain tidak boleh digunakan untuk merentas domain

Javascript melarang dua atau lebih halaman daripada domain berbeza daripada saling beroperasi atas sebab keselamatan.
Halaman dari domain yang sama akan saling beroperasi tanpa sebarang masalah.

Sebagai contoh, dalam halaman web (a.html) aaa.com, halaman web (b.html) dalam bbb.com diperkenalkan menggunakan iframe.
Pada masa ini, kandungan dalam b.html boleh dilihat dalam a.html, tetapi javascript tidak boleh digunakan untuk mengendalikannya. Oleh kerana kedua-dua halaman tersebut tergolong dalam domain yang berbeza, sebelum beroperasi, js akan menyemak sama ada domain kedua-dua halaman adalah sama Jika ia sama, operasi akan dibenarkan Jika ia tidak sama, operasi akan ditolak.
Adalah mustahil untuk menukar a.html dan b.html ke domain yang sama menggunakan JS. Kerana nama domain asas mereka tidak sama. (Jika anda memaksa JS menukarnya ke dalam medan yang sama, "ralat parameter tidak sah" yang sama seperti di atas akan dilaporkan)

Jadi jika anda memperkenalkan halaman web lain dalam aaa.com ke dalam a.html, tidak akan ada masalah kerana domain adalah sama.

Terdapat satu lagi situasi, dua subdomain:

aaa.xxx.com
bbb.xxx.com

Halaman web (a.html) dalam aaa memperkenalkan halaman web (b.html) dalam bbb,
Pada masa ini, kandungan dalam b.html tidak boleh dimanipulasi dalam a.html.
Kerana document.domain adalah berbeza, satu ialah aaa.xxx.com dan satu lagi ialah bbb.xxx.com.

Pada masa ini, kita boleh menukar domain dua halaman kepada yang sama melalui Javascript,
Perlu menambah kedua-dua a.html dan b.html:

Salin kod Kod adalah seperti berikut:
document.domain = "xxx.com";

Dengan cara ini kedua-dua halaman boleh beroperasi antara satu sama lain. Maksudnya, "cross-domain" antara nama domain asas yang sama direalisasikan.

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

Kenyataan Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian kepada masalah merentas domain Sesi PHP Penyelesaian kepada masalah merentas domain Sesi PHP Oct 12, 2023 pm 03:00 PM

Penyelesaian kepada masalah merentas domain Sesi PHP

Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi pan peta Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi pan peta Nov 21, 2023 am 10:00 AM

Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi pan peta

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Apr 03, 2024 am 11:55 AM

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik

Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS Dec 17, 2023 pm 06:55 PM

Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS

Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok Dec 18, 2023 pm 03:39 PM

Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok

Cara membuat carta candlestick saham menggunakan PHP dan JS Cara membuat carta candlestick saham menggunakan PHP dan JS Dec 17, 2023 am 08:08 AM

Cara membuat carta candlestick saham menggunakan PHP dan JS

Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi lukisan poligon peta Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi lukisan poligon peta Nov 21, 2023 am 10:53 AM

Cara menggunakan Peta JS dan Baidu untuk melaksanakan fungsi lukisan poligon peta

Cara menggunakan JS dan Baidu Map untuk melaksanakan fungsi pemprosesan acara klik peta Cara menggunakan JS dan Baidu Map untuk melaksanakan fungsi pemprosesan acara klik peta Nov 21, 2023 am 11:11 AM

Cara menggunakan JS dan Baidu Map untuk melaksanakan fungsi pemprosesan acara klik peta

See all articles