Saya mengembangkan alat penelitian lokal yang mengharuskan saya menonaktifkan kebijakan asal Firefox yang sama (dalam hal akses skrip, saya tidak terlalu peduli dengan permintaan lintas domain).
Lebih khusus lagi, saya ingin skrip di domain host dapat mengakses elemen arbitrer di semua iframe yang disematkan di halaman, apa pun domainnya.
Saya mengetahui Tanya Jawab sebelumnya yang menyebutkan ekstensi CORS FF, tetapi bukan itu yang saya butuhkan, karena hanya mengizinkan CORS, tetapi bukan akses skrip.
Jika tidak dapat dilakukan dengan mudah, saya juga akan menghargai setiap wawasan yang mengarahkan saya ke bagian tertentu dari kode src FF yang dapat saya modifikasi untuk menonaktifkan SOP, sehingga saya dapat mengkompilasi ulang FF.
security
firefox
same-origin-policy
Yuchen Zhou
sumber
sumber
Jawaban:
Ada ekstensi Firefox yang menambahkan tajuk CORS ke respons HTTP apa pun yang berfungsi di Firefox terbaru ( build 36.0.1 ) yang dirilis 5 Maret 2015 . Saya mengujinya dan berfungsi pada Windows 7 dan Mavericks. Saya akan memandu Anda melalui langkah-langkah untuk membuatnya berfungsi.
1) Mendapatkan ekstensi
Anda dapat mengunduh xpi dari sini (penulis build) atau dari sini (mirror, mungkin tidak diperbarui).
Atau unduh file dari GitHub. Sekarang juga ada di Firefox Marketplace: Unduh di sini . Dalam kasus ini, addon diinstal setelah Anda mengklik instal dan Anda dapat langsung ke langkah 4.
Jika Anda mengunduh xpi, Anda dapat melompat ke langkah 3. Jika Anda mengunduh zip dari GitHub, lanjutkan ke langkah 2.
2) Membangun xpi
Anda perlu mengekstrak zip, masuk ke dalam folder "cors-everywhere-firefox-addon-master", pilih semua item dan masukkan dalam zip. Kemudian, ganti nama zip yang dibuat menjadi * .xpi
Catatan: Jika Anda menggunakan OS X gui, ini mungkin membuat beberapa file tersembunyi, jadi Anda akan lebih baik menggunakan baris perintah.
3) Menginstal xpi
Anda tinggal drag and drop xpi ke firefox, atau pergi ke: "about: addons", klik pada roda gigi di sudut kanan atas dan pilih "install add on from file", lalu pilih file .xpi Anda. Sekarang, mulai ulang firefox.
4) Membuatnya berhasil
Sekarang, ekstensi tidak akan berfungsi secara default. Anda perlu menyeret ikon ekstensi ke bilah ekstensi, tetapi jangan khawatir. Ada fotonya!
5) Menguji apakah itu berfungsi
jQuery
JavaScript
6) Pertimbangan akhir
Perhatikan bahwa https ke http tidak diperbolehkan .
Mungkin ada jalan keluarnya, tapi itu di balik cakupan pertanyaannya.
sumber
security.mixed_content.block_active_content
ke false dansecurity.mixed_content.block_display_content
ke true . Ingatlah Anda menonaktifkan beberapa keamanan dan ini seharusnya menjadi solusi sementara.sumber
file://
protokol. Ilmuwan komputer harus lebih menekankan pada kata "apa saja" - kecuali Anda telah menguji segalanya (yang belum pernah Anda uji ), cobalah untuk lebih konservatif dengan komentar Anda. Hal yang sama berlaku untuk penggunaan kata "tidak berguna".Saya menyadari jawaban saya yang lebih lama diturunkan karena saya tidak menentukan cara menonaktifkan kebijakan asal yang sama dari FF secara khusus. Disini saya akan memberikan jawaban yang lebih detail:
Peringatan: Ini memerlukan kompilasi ulang FF, dan versi Firefox yang baru dikompilasi tidak akan dapat mengaktifkan SOP lagi.
Lihat kode sumber Mozilla Firefox, temukan nsScriptSecurityManager.cpp di direktori src. Saya akan menggunakan yang tercantum di sini sebagai contoh: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp
Masuk ke implementasi fungsi nsScriptSecurityManager :: CheckSameOriginURI, yang merupakan baris 568 per tanggal 03/02/2016.
Jadikan fungsi itu selalu mengembalikan NS_OK.
Ini akan menonaktifkan SOP untuk selamanya.
Jawaban addon browser oleh @Giacomo seharusnya bermanfaat bagi kebanyakan orang dan saya telah menerima jawaban itu, namun, untuk kebutuhan penelitian pribadi saya (TL; tidak akan dijelaskan di sini) itu tidak cukup dan saya pikir peneliti lain mungkin perlu melakukan apa Saya lakukan di sini untuk sepenuhnya membunuh SOP.
sumber
Saya menulis add-on untuk mengatasi masalah ini di Firefox (Chrome, versi Opera akan segera hadir). Ia bekerja dengan versi Firefox terbaru, dengan UI yang indah dan dukungan JS regex: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors
sumber
Mulai September 2016 , addon ini adalah yang terbaik untuk menonaktifkan CORS : https://github.com/fredericlb/Force-CORS/releases
Di panel opsi Anda dapat mengonfigurasi tajuk mana yang akan dimasukkan dan situs web tertentu untuk mengaktifkannya secara otomatis.
sumber
The kor-mana karya addon untuk saya sampai Firefox 68, setelah 68 saya perlu menyesuaikan 'privacy.file_unique_origin' -> palsu (by terbuka 'about: config') untuk memecahkan ' CORS meminta tidak HTTP ' untuk CORS baru aturan yang sama-asal diperkenalkan.
sumber
Di
about:config
tambahkancontent.cors.disable
(string kosong).sumber
true
, tetapi tidak mengatakan apa-apa tentangfalse
atau nilai lainnya. "Di Firefox, preferensi untuk menonaktifkan CORS adalah content.cors.disable. Menyetel ini ke true akan menonaktifkan CORS, jadi jika demikian, permintaan CORS akan selalu gagal dengan kesalahan ini." developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/…