Apakah ada cara untuk menonaktifkan kebijakan asal-sama di browser Google Chrome ?
--disable-web-security --user-data-dir
Apakah ada cara untuk menonaktifkan kebijakan asal-sama di browser Google Chrome ?
--disable-web-security --user-data-dir
Jawaban:
Tutup chrome (atau chromium) dan mulai kembali dengan --disable-web-security
argumen. Saya baru saja menguji ini dan memverifikasi bahwa saya dapat mengakses konten iframe dengan src = "http://google.com" disematkan pada halaman yang disajikan dari "localhost" (diuji di bawah chromium 5 / ubuntu). Bagi saya perintah yang tepat adalah:
Catatan: Bunuh semua instance chrome sebelum menjalankan perintah
chromium-browser --disable-web-security --user-data-dir="[some directory here]"
Browser akan memperingatkan Anda bahwa "Anda menggunakan baris perintah yang tidak didukung" saat dibuka pertama kali, yang dapat Anda abaikan.
Dari sumber kromium:
// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";
Sebelum Chrome 48, Anda bisa menggunakan:
chromium-browser --disable-web-security
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
juga.
Ya. Untuk OSX, buka Terminal dan jalankan:
$ open -a Google\ Chrome --args --disable-web-security --user-data-dir
--user-data-dir diperlukan di Chrome 49+ di OSX
Untuk Linux dijalankan:
$ google-chrome --disable-web-security
Juga jika Anda mencoba mengakses file lokal untuk keperluan dev seperti AJAX atau JSON, Anda dapat menggunakan flag ini juga.
-–allow-file-access-from-files
Untuk Windows masuk ke command prompt dan masuk ke folder tempat Chrome.exe dan ketik
chrome.exe --disable-web-security
Itu harus menonaktifkan kebijakan asal yang sama dan memungkinkan Anda untuk mengakses file lokal.
Pembaruan: Untuk Chrome 22+ Anda akan disajikan dengan pesan kesalahan yang mengatakan:
Anda menggunakan flag baris perintah yang tidak didukung: --disable-web-security. Stabilitas dan keamanan akan menderita.
Namun Anda bisa mengabaikan pesan itu sambil mengembangkan.
--disable-web-security
tidak berfungsi kecuali Anda juga secara eksplisit memberi --user-data-dir
. yaitu OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.
open -n
. Cukup jalankan open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Ini akan membuka instance aplikasi Chrome kedua di mac Anda, dan Anda dapat menggunakannya berdampingan.
Untuk pengguna Windows:
Masalah dengan solusi yang diterima di sini, menurut saya adalah jika Anda sudah membuka Chrome dan mencoba menjalankannya, itu tidak akan berhasil.
Namun, ketika meneliti ini, saya menemukan posting tentang Pengguna Super, Apakah mungkin menjalankan Chrome dengan dan tanpa keamanan web pada saat yang sama? .
Pada dasarnya, dengan menjalankan perintah berikut (atau membuat pintasan dengannya dan membuka Chrome melalui itu)
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
Anda dapat membuka instance "tidak aman" baru dari Chrome pada saat yang sama saat Anda menjaga instance browser "aman" lainnya tetap terbuka dan berfungsi seperti biasa.
Penting : hapus / hapus C:/Chrome dev session
folder setiap kali Anda membuka jendela karena kedua kalinya --disable-web-security
tidak akan berfungsi. Jadi, Anda tidak dapat menyimpan perubahan dan kemudian membukanya lagi sebagai contoh Chrome yang tidak aman kedua --disable-web-security
.
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
Sudah mencoba menggunakan , itu hanya membuat fokus jendela krom yang ada, tidak ada yang lain?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(Anda mungkin perlu membuat folder temp dulu)
Untuk Windows :
Jalankan perintah berikut:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Untuk Mac :
Jalankan perintah berikut:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Peramban chrome yang dinonaktifkan keamanan web yang baru akan terbuka dengan pesan berikut:
Run
.
Untuk pengguna windows dengan Versi Chrome 60.0.3112.78 (hari solusi diuji dan bekerja) dan setidaknya hingga hari ini 19.01.2019 (ver. 71.0.3578.98) . Anda tidak perlu menutup instance chrome apa pun.
WASPADALAH UNTUK TIDAK MENGGUNAKAN INSTANSI BROWSER TERTENTU INI UNTUK MENGEMBANGKAN KARENA ANDA DAPAT MENJADI KERAS DENGAN ITU!
EDIT 3: Tampaknya ekstensi tidak ada lagi ... Biasanya untuk berkeliling CORS hari ini saya menyiapkan versi Chrome lain dengan direktori terpisah atau saya menggunakan Firefox dengan https://addons.mozilla.org/en-US/ firefox / addon / cors -where / sebagai gantinya.
EDIT 2: Saya tidak bisa lagi membuatnya bekerja secara konsisten.
EDIT: Saya mencoba menggunakan hari yang lain untuk proyek lain dan berhenti bekerja. Menghapus instalasi dan menginstal ulang ekstensi memperbaikinya (untuk mengatur ulang default).
Jawaban asli:
Saya tidak ingin memulai ulang Chrome dan menonaktifkan keamanan web saya (karena saya menjelajah sambil mengembangkan) dan menemukan ekstensi Chrome ini.
Pada dasarnya ini adalah sakelar toggle kecil untuk menghidupkan dan mematikan cek Allow-Access-Origin-Control. Bekerja dengan baik untuk apa yang saya lakukan.
--disable-web-security
saklar dalam hal itu.
--allow-file-access-from-files
alih-alih menonaktifkan semua keamanan web.
Tampaknya tidak ada solusi di atas yang benar-benar berfungsi. The --disable-web-keamanan tidak lagi didukung dalam versi krom baru-baru ini.
Allow-Control-Allow-Origin: * - ekstensi chrome menyelesaikan sebagian masalahnya. Ini hanya berfungsi jika permintaan Anda menggunakan metode GET dan tidak ada HTTP Header khusus. Jika tidak, chrome akan mengirim permintaan HTTP OPSI sebagai permintaan pra-penerbangan. Jika server tidak mendukung CORS, itu akan merespons dengan 404 kode status HTTP. Plugin tidak dapat mengubah kode status HTTP respons. Jadi chrome akan menolak permintaan ini. Tidak ada cara bagi plugin chrome untuk mengubah respons kode status HTTP berdasarkan API ekstensi chrome saat ini. Dan Anda tidak dapat melakukan pengalihan juga untuk permintaan yang diprakarsai XHR.
Tidak yakin mengapa Chrome membuat hidup pengembang sangat sulit. Ini memblokir semua cara yang mungkin untuk menonaktifkan pemeriksaan keamanan XSS bahkan untuk penggunaan pengembangan yang sama sekali tidak perlu.
Setelah beberapa hari berjuang dan meneliti, satu solusi bekerja dengan baik untuk saya: menggunakan corsproxy . Anda memiliki dua opsi di sini: 1. gunakan [ https://cors-anywhere.herokuapp.com/] 2. instal corsproxy di kotak lokal: npm install -g corsproxy
[Diperbarui pada 23 Juni 2018] Baru-baru ini saya mengembangkan aplikasi SPA yang perlu menggunakan corsproxy lagi. Tapi sepertinya tidak ada corsproxy di github yang dapat memenuhi kebutuhan saya.
Jadi saya memutuskan untuk mengembangkan versi saya sendiri corsproxy dengan nodejs. Sebenarnya sangat sederhana. Saya telah menerbitkannya sebagai intisari pada github. Inilah inti kode sumber: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Untuk memulai server CORSProxy (http port 8080): node static_server.js 8080
untuk mengakses proxy: http: // host: 8080 / http: //www.somesite.com
Untuk Windows ... buat pintasan Chrome di desktop Anda.
Klik kanan> properti>
Edit jalan pintas "target":
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
(Ubah 'C: .... \ chrome.exe' ke tempat krom Anda berada).
et voilà :)
Coba perintah ini pada terminal Mac-
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
Itu membuka contoh lain dari chrome dengan keamanan dinonaktifkan dan tidak ada masalah CORS lagi. Selain itu, Anda tidak perlu lagi menutup instance chrome lainnya. Ubah URL host lokal ke URL Anda.
Saya menemukan cara terbaik untuk melakukannya adalah menduplikasi shortcut Chrome atau Canary Chrome di desktop windows Anda. Ubah nama pintasan ini menjadi "NO CORS" lalu edit properti pintasan itu.
di target tambahkan --disable-web-security --user-data-dir="D:/Chrome"
ke akhir jalur target.
target Anda akan terlihat seperti ini:
Pembaruan: Bendera Baru ditambahkan.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
menggunakan versi chrome terbaru saat ini (83.0.4103.61 (Build Resmi) (64-bit)), satu-satunya cara untuk membuatnya bekerja dalam pengujian saya adalah untuk memulai chrome menggunakan flag di bawah ini (ubah D: \ temp sesuai keinginan Anda) . Solusi ini akan memulai chrome sebagai kotak pasir untuk pengujian dan itu tidak akan mempengaruhi profil chrome utama:
--disable-situs-isolasi-percobaan --disable-web-security --user-data-dir = "D: \ temp"
di windows, klik tombol mulai kemudian salin tempel di bawah ini:
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
di run
jendela di windows 10. Terima kasih banyak.
Anda dapat menggunakan plugin chrome ini yang disebut "Allow-Control-Allow-Origin: *" ... Ini membuatnya menjadi sangat sederhana dan bekerja dengan sangat baik. periksa di sini: *
Untuk Selenium Webdriver, Anda dapat meminta selenium memulai Chrome dengan argumen yang sesuai (atau "sakelar") dalam hal ini.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Plugin Chrome ini berfungsi untuk saya: Allow-Control-Allow-Origin: * - Toko Web Chrome
Jangan lakukan ini! Anda membuka akun untuk serangan . Setelah Anda melakukan ini, situs pihak ketiga mana pun dapat mulai mengeluarkan permintaan ke situs web lain, situs tempat Anda masuk.
Alih-alih jalankan server lokal. Ini semudah membuka shell / terminal / commandline dan mengetik
cd path/to/files
python -m SimpleHTTPServer
Lalu arahkan browser Anda ke
http://localhost:8000
Jika Anda merasa terlalu lambat, pertimbangkan solusi ini
Orang-orang yang menurunkan jawaban ini harus pergi ke sini dan memilih yang satu ini juga agar konsisten. Tidak tahu mengapa jawaban saya sangat rendah dan jawaban yang sama di sini adalah jawaban terpilih.
Anda sedang membuka diri untuk serangan. Setiap skrip pihak ketiga yang Anda sertakan di situs Anda dari jarak jauh atau lokal seperti melalui npm sekarang dapat mengunggah data Anda atau mencuri kredensial Anda. Anda melakukan sesuatu yang tidak perlu Anda lakukan. Solusi yang disarankan tidak sulit, butuh 30 detik, tidak membuat Anda serangan terbuka. Mengapa Anda memilih untuk membuat diri Anda rentan ketika hal yang lebih baik untuk dilakukan begitu sederhana?
Memberitahu orang-orang untuk menonaktifkan keamanan adalah seperti memberi tahu teman-teman Anda untuk membiarkan pintu depan mereka tidak terkunci dan / atau kunci di bawah keset. Tentu peluangnya mungkin rendah tetapi jika mereka dicuri, tanpa bukti masuk paksa mereka mungkin mengalami kesulitan mengumpulkan asuransi. Demikian pula jika Anda menonaktifkan keamanan Anda hanya melakukan itu menonaktifkan keamanan . Tidak bertanggung jawab untuk melakukan ini saat Anda dapat menyelesaikan masalah dengan mudah tanpa menonaktifkan keamanan. Saya akan terkejut jika Anda tidak dapat dipecat di beberapa perusahaan karena menonaktifkan keamanan.
Anda cukup menggunakan ekstensi chrome ini Allow-Control-Allow-Origin
cukup klik ikon ekstensi untuk mengaktifkan atau menonaktifkan berbagi lintas sumber daya seperti yang Anda inginkan
HANYA UNTUK PENGGUNA MAC
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Pada Windows 10, yang berikut ini akan berfungsi.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Mengikuti jawaban Ola Karlsson, memang cara terbaik adalah membuka Chrome yang tidak aman di sesi yang berbeda. Dengan cara ini Anda tidak perlu khawatir tentang menutup semua tab yang saat ini dibuka, dan juga dapat terus menjelajahi web dengan aman dengan sesi Chrome asli.
File batch ini seharusnya hanya berfungsi untuk Anda di Windows.
Masukkan ke dalam file Chrome_CORS.bat agar mudah digunakan
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
Yang ini untuk Chrome Canary . Canary_CORS.bat
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
Di Linux-Ubuntu, untuk menjalankan secara bersamaan sesi normal dan sesi tidak aman jalankan perintah berikut:
google-chrome --user-data-dir=/tmp --disable-web-security
untuk pengguna mac:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
dan sebelum Chrome 48, Anda bisa menggunakan:
open -a "Google Chrome" --args --disable-web-security
Ada ekstensi Chrome yang disebut CORS Toggle.
Klik di sini untuk mengaksesnya dan menambahkannya ke Chrome .
Setelah menambahkannya, alihkan ke posisi aktif untuk memungkinkan permintaan lintas-domain.
ini adalah target yang selalu bergerak .... hari ini saya perlu menambahkan bendera lain untuk membuatnya berfungsi:
--disable-site-isolation-trials
OS X:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
Untuk Windows:
(menggunakan windows 8.1, chrome 44.0 )
Pertama, tutup google chrome.
Kemudian, buka command prompt dan buka folder tempat 'chrome.exe'.
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
Jadi saya mengetik
cd C:\Program Files (x86)\Google\Chrome\Application
:)
sekarang ketik: chrome.exe --disable-web-security
jendela baru chrome akan terbuka.
Digunakan perintah di bawah ini di Ubuntu untuk memulai chrome (nonaktifkan kebijakan asal yang sama dan buka chrome dalam mode terpisah):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Di Windows:
1) Buat pintasan baru:
2) Tempel jalur berikut:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="c:\temp\chrome"
3) Pada jenis halaman berikutnya:
Unsafe Chrome.exe
Sekarang Anda memiliki chrome yang tidak aman di desktop untuk digunakan untuk debugging aplikasi CORS. Semoga jawaban grafis ini membantu beberapa orang!
Coba buka halaman ini dan nonaktifkan kebijakan keamanan domain untuk domain situs web Anda.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.