Nonaktifkan kebijakan asal yang sama di Chrome

1572

Apakah ada cara untuk menonaktifkan kebijakan asal-sama di browser Google Chrome ?

Landon Kuhn
sumber
1
Lihat juga peter.sh/experiments/chromium-command-line-switches , saya tidak yakin dengan keasliannya, tetapi tampaknya itu adalah kumpulan yang dihasilkan oleh proses otomatis
CSSian
1
tautan chromium.org ke peter.shhalaman, jadi harus cukup sah.
Benjineer
2
Perhatikan bahwa menonaktifkan SOP, bahkan ketika hanya digunakan untuk pengembangan, berbahaya. Ketika Anda memulai browser Anda dengan cara ini, Anda mungkin tidak hanya akan membuka aplikasi Anda, tetapi juga memeriksa email Anda, baca SO ... Mempertimbangkan menggunakan alternatif yang lebih baik, misalnya proksi web, untuk menyelesaikan masalah ini. Misalnya melalui proxrox: github.com/bripkens/proxrox
BenR
29
Sejak versi 49, gunakan opsi ini--disable-web-security --user-data-dir
vanduc1102
3
Bagi siapa pun yang mencari saran tentang cara melakukan ini di lingkungan pengembang menggunakan server run grunt lihat ini: gist.github.com/Vp3n/5340891
GrayedFox

Jawaban:

1038

Tutup chrome (atau chromium) dan mulai kembali dengan --disable-web-securityargumen. 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
Dagg Nabbit
sumber
115
Bagaimana melakukan ini di OS X?
Landon Kuhn
14
@ landon9720 lihat jawabannya dengan ectype .
ANeves
8
@Berty Cukup tutup chrome dan buka tanpa tag. Chrome hanya akan berada dalam mode itu jika dibuka dengan tag itu
Nick
84
@ landon9720 Tutup Chrome, terminal terbuka, ketikopen /Applications/Google\ Chrome.app --args --disable-web-security
Seanonymous
17
Di Chrome 48 dan 49 kita harus menambahkan --user-data-dirjuga.
Jacob Lauritzen
1070

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.

ectype
sumber
7
Baru saja mencoba ini di pc (chrome 29) dan saya masih mendapatkan Origin *** yang indah ini tidak diizinkan oleh Access ...
Sam
23
@ Sam Pastikan Anda telah menutup semua proses chrome, lalu coba lagi. Chrome akan mengeluarkan tajuk peringatan jika Anda melakukannya dengan benar: "Anda menggunakan panji baris perintah yang tidak didukung: --disable-web-security. Stabilitas dan keamanan akan terganggu"
Morten Haraldsen
2
Apakah ada cara untuk mencegah pesan kesalahan muncul juga? Saya menggunakan bendera ini di papan dinding digital tanpa keyboard atau mouse.
Bart van Heukelom
64
Dan ternyata sekarang --disable-web-securitytidak 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/.
WiseOldDuck
20
Anda tidak harus menutup semua proses Chrome terlebih dahulu. Anda bisa menggunakannya 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.
The Pellmeister
520

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 sessionfolder setiap kali Anda membuka jendela karena kedua kalinya --disable-web-securitytidak akan berfungsi. Jadi, Anda tidak dapat menyimpan perubahan dan kemudian membukanya lagi sebagai contoh Chrome yang tidak aman kedua --disable-web-security.

Ola Karlsson
sumber
17
keren terima kasih. berkat ini, saya dapat meluncurkan halaman web sebagai aplikasi independen"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
Elvis Ciotti
2
Persis apa yang saya butuhkan ketika mencoba melakukan pengembangan terhadap API pada mesin lokal saya.
generalopinion
4
Ini berhasil. Itu juga meninggalkan contoh normal chrome saya dengan keamanan dihidupkan dan berfungsi normal. Hanya catatan tambahan ketika Chrome berfungsi, Chrome akan memberi tahu Anda bahwa "Stabilitas dan Keamanan akan terganggu".
etoxin
1
Bagaimana saya bisa melakukan ini di Mac? 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?
user3648895
17
Perintah ini berfungsi di OSX dengan memulai instance kedua: 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)
chilltemp
161

Untuk Windows :

  1. Buka menu mulai
  2. Ketik windows+ Ratau buka "Run"
  3. Jalankan perintah berikut:

    chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security

Untuk Mac :

  1. Pergi ke Terminal
  2. 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:

masukkan deskripsi gambar di sini

GSB
sumber
7
@ downvoters harap sebutkan alasan untuk downvote karena tidak ada gunanya downvote dalam jawaban
GSB
1
Bekerja dengan baik untuk saya di Windows 10, tidak perlu menutup instance Chrome lainnya.
Nick M
Ini bekerja pada windows 10. Saya melihatnya di tempat lain tetapi ia mengatakan untuk menjalankannya pada command line alih-alih windows Run.
chidimo
Ini berfungsi dengan baik, Bagaimana saya bisa menggunakannya untuk IE, Edge!
Jason Brody
ini bekerja dengan baik. Saya telah menderita masalah CORS ini selama berjam-jam dan menemukan ini.
Achintha
78

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.

  1. Buat pintasan di desktop Anda
  2. Klik kanan pada pintasan dan klik Properti
  3. Edit properti Target
  4. Setel ke "C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-web-security --user-data-dir = "C: / ChromeDevSession"
  5. Mulai chrome dan abaikan pesan yang mengatakan --disable-web-security tidak didukung!

WASPADALAH UNTUK TIDAK MENGGUNAKAN INSTANSI BROWSER TERTENTU INI UNTUK MENGEMBANGKAN KARENA ANDA DAPAT MENJADI KERAS DENGAN ITU!

Ognyan Dimitrov
sumber
Bekerja seperti pesona. Saya tidak percaya Chrome tidak mengizinkan pengembang untuk menonaktifkan ini tanpa memulai sesi baru. Setidaknya mereka punya cara.
FearlessFuture
dan apakah Anda masih dapat menggunakan debugging chrome pada kode sumber Anda?
Righto
baru saja diuji, Anda masih dapat menggunakan alat dev dalam mode ini.
KuN
Solusi ini masih berfungsi pada versi chrome 71 Terima kasih banyak!
Motoman
Bekerja dengan 72.0.3626.109. Banyak membantu!
Pavel Molchanov
76

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.

Chrome Web Store Allow-Control-Allow-Origin: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=id)

Pada dasarnya ini adalah sakelar toggle kecil untuk menghidupkan dan mematikan cek Allow-Access-Origin-Control. Bekerja dengan baik untuk apa yang saya lakukan.

Coburn
sumber
1
bagaimana saya mencapai dan mengintegrasikan dengan ekstensi saya karena ekstensi saya perlu mengakses domain silang. Saya tidak bisa memaksa pengguna untuk membuka browser dengan menonaktifkan-web-security
codebased
1
Ekstensi ini tidak akan berfungsi untuk file lokal, sayangnya. Tetap berpegang pada --disable-web-securitysaklar dalam hal itu.
bryc
2
@ Bryc Ini tidak benar-benar dimaksudkan. Namun pertimbangkan bahwa Anda dapat menggunakan --allow-file-access-from-filesalih-alih menonaktifkan semua keamanan web.
Coburn
1
Peringatan! Beberapa situs tidak akan membiarkan Anda masuk dengan ekstensi ini diaktifkan! Konsol Firebase, misalnya.
campsjos
1
"Ekstensi tidak lagi ada" dapatkah Anda menghapus jawaban Anda atau paling tidak membuat Edit 3 di bagian atas dicetak tebal
Michael Freidgeim
48

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.

  • perlu dijalankan di dalam firewall untuk alasan keamanan. Jadi saya tidak bisa menggunakan https://cors-anywhere.herokuapp.com/ .
  • Itu harus mendukung https karena chrome akan memblokir permintaan ajax no-https di halaman https.
  • Saya perlu menjalankan pada nodejs. Saya tidak ingin mempertahankan tumpukan bahasa lain.

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

  • Itu dalam kode nodejs sederhana tanpa dependensi tambahan
  • Anda dapat menjalankan dalam mode http dan https (dengan melewati nomor port https di baris perintah), untuk menjalankan https, Anda perlu membuat sertifikat dan kunci dan meletakkannya di direktori webroot.
  • Ini juga berfungsi sebagai server file statis
  • Ini mendukung permintaan OPSI pra-penerbangan juga.

Untuk memulai server CORSProxy (http port 8080): node static_server.js 8080

untuk mengakses proxy: http: // host: 8080 / http: //www.somesite.com

Jianwu Chen
sumber
Jika Anda akan pergi sejauh itu, Anda selalu bisa hanya meng-host server web secara lokal atau jarak jauh yang menarik konten dari halaman web yang Anda inginkan dan kemudian mengatur header CORS yang tepat pada itu.
Coburn
Saya sudah memikirkan rute ini sebelumnya. Tapi ini perlu beberapa pengkodean, terutama dalam kasus saya, saya perlu memanggil beberapa layanan yang berasal dari domain yang berbeda. Jadi saya harus memetakan pola URL yang berbeda ke domain yang berbeda. Ini persis apa yang telah dilakukan corsproxy untuk kita. Dan itu bekerja dengan sempurna.
Jianwu Chen
4
Tidak benar .. Cara yang disebutkan dalam jawaban yang diterima bekerja untuk saya .. Seperti yang disebutkan, Chrome 49 dan seterusnya perintah 'chrome.exe --disable-web-security --user-data-dir' bekerja untuk saya ..
Gaurang Patel
2
Chromium 53, --disable-web-security --user-data-dir tidak berfungsi untuk saya
Dark Star1
4
Di 53+ Anda harus menyediakan direktori data pengguna unik yang sebenarnya berbeda dari direktori normal Anda. Ini menciptakan profil baru untuk lingkungan yang tidak aman. --user-data-dir harus diset sama dengan sesuatu, seperti pada Olas jawaban di atas. Jika Anda benar-benar ingin, Anda DAPAT mengaturnya sama dengan folder profil pengguna normal Anda yang sebenarnya, tetapi ini sangat tidak disarankan karena membiarkan profil normal Anda terbuka untuk serangan tidak disengaja jika Anda memulai penelusuran normal saat berada dalam mode itu.
lassombra
45

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à :)

molokoloco
sumber
Pada hari ini 08/27/20013 itu berfungsi untuk saya, memungkinkan saya untuk melakukan Ajax di localhost saya sendiri.
molokoloco
mendapat "Anda menggunakan tag baris perintah yang tidak didukung: --disable-web-security" dengan Canary versi 53
khoailang
4
@ khoailang Anda masih dapat menggunakan sakelar. Peringatan itu adalah bagian dari perang Google terhadap ketidakamanan (hal yang baik). Selain itu, pada versi 55+ Anda juga perlu menggunakan --user-data-dir = <direktori lain di sini> sehingga Google tidak ingin Anda mencampur aturan tidak aman dengan profil normal Anda.
lassombra
44

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.

Vivek Sinha
sumber
Sebagian besar jawaban baris perintah di atas tidak membuat perbaikan bagi saya di macOS. Namun postingan ini alfilatov.com/posts/run-chrome-without-cors dan baris perintah terbuka bekerja untuk saya. Itu sama dengan perintah di atas jadi voting.
Max MacLeod
40

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"

masukkan deskripsi gambar di sini

etoksin
sumber
Ini hanya memberi saya 404 sekarang alih-alih kesalahan pra-penerbangan
L1ghtk3ira
Kesalahan 404 adalah kesalahan terkait server dan bukan kesalahan Google Chrome.
etoxin
2
@etoxin Jawaban ini tidak lagi valid dalam versi terbaru chrome. Anda harus menambahkan --disable-web-security --user-data-dir = "D: / Chrome"
Vignesh S
29

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"
pengguna2576266
sumber
5
Ini adalah satu-satunya solusi yang berfungsi untuk saya. Saya telah menjalankan ini chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"di runjendela di windows 10. Terima kasih banyak.
Sampath
HAIR PULLING ARGHGHGH - sepertinya tidak berfungsi lagi
Daniel Sokolowski
1
Menambahkan --disable-site-isolation-trial sangat membantu saya dalam kasus saya, Chrome v 75.0, Selenium Web Driver, Java. Terima kasih!
Nikolay Chernov
Jika Anda hanya perlu menguji situs dengan cors, gunakan Safari, tempat Anda hanya perlu menghidupkan dan mematikan opsi, alih-alih meluncurkan instance lain dari browser atau mematikan instance: [ stackoverflow.com/a/12158217/922457 ]
Edenshaw
1
Bekerja untuk saya di windows! Terima kasih!
Jánosi-Borsos Róbert
20

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

Ekstensi Chrome

Mohamed Saleh
sumber
4
Ini menetapkan situs web "evil.com" sebagai asal, terlihat mencurigakan.
Suprido
5
Tidak lagi berfungsi sesuai dengan tanggal komentar ini. Sarankan hanya menggunakan rute bendera.
NJDawson
19

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"]
    })
mikelupo
sumber
1
itulah dua tanda sebelumnya untuk menonaktifkan-keamanan web. itu browser saya itu membuat mereka terlihat seperti satu dasbor panjang.
mikelupo
Saya telah menulis posting kecil tentang chrome tanpa kors
Alex Filatov
14

Jika Anda menggunakan Google Chrome di Linux, perintah berikut berfungsi.

google-chrome  --disable-web-security
chhantyal
sumber
13

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

Memperbarui

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.

gman
sumber
9
Ini tidak akan membuka "mesin Anda" untuk serangan. Kode JavaScript berbahaya tidak akan bisa berbuat banyak pada mesin klien itu sendiri. Anda, bagaimanapun, akan memungkinkan kode JavaScript berbahaya berpotensi memanipulasi akun Anda di situs web lain (facebook / administrasi / bank / ...). Ini tentu saja tidak kurang berbahaya, tetapi sama sekali berbeda.
redup
2
Namun, pengguna mungkin perlu melakukan ini. Masalahnya adalah tidak menjalankan server. Masalahnya adalah menguji CORS sebelum Anda meletakkannya di server penerimaan / produksi Anda, di mana perubahan ini tidak diperlukan. Memodifikasi file host tidak akan berfungsi.
Jeff Huijsmans
Anda tidak dapat menguji CORS tanpa server karena CORS adalah teknologi sisi server. Untuk menguji CORS, Anda perlu mengatur server untuk mengirim header CORS. Ada 2 hal untuk diuji (1) apakah server mengirim header (2) jika server mengirim header dapat Anda gunakan sumber daya di browser. Baik (1) dan (2) membutuhkan server. Jika Anda hanya ingin melakukan 2, Anda dapat menggunakan server ini tetapi Anda masih perlu menguji (2) dengan server apa pun yang akan mem-server situs produksi Anda.
GM
11

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

Peter Wilson
sumber
Tautannya sudah mati.
Vitaly Zdanevich
Bukan itu. Dan ya itu berhasil. Tapi kita di sini karena kita sekarang apa artinya perintah jadi gunakan solusi di atas sebelum ini!
Jánosi-Borsos Róbert
@ Jánosi-BorsosRóbert yang termasuk dalam "kami", dan bagaimana pengetahuan Anda tentang makna suatu perintah dapat membawa Anda ke sini? FYI: Perintah Anda tidak tepat, dan saya tidak patuh;)
Superole
10

HANYA UNTUK PENGGUNA MAC

open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Saurabh Chandra Patel
sumber
cara mengembalikan perubahan ini @saurab
Mohasin Ali
@MohasinAli tutup semua jendela chrome dan jalankan seperti biasa. Ini hanya memengaruhi instance Anda berlari dengan argumen ini. Jika Anda menjalankannya lagi tanpa argumen apa pun, perubahan ini tidak diterapkan.
Jeff Huijsmans
9
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
MechaCode
sumber
7

Pada Windows 10, yang berikut ini akan berfungsi.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Ini AllABadcanda
sumber
Saya terkejut bahwa jawaban Anda diturunkan. Ini bekerja sangat baik untuk saya pada file lokal dengan versi Chrome terbaru.
Waruyama
@CHANist: Itulah mengapa OP mengatakan, "Pada Windows 10 " ...?
Lawrence Dol
7

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
guya
sumber
Ini adalah penggunaan file batch yang tidak berguna. Jalan pintas akan jauh lebih baik untuk ini. Masukkan semuanya setelah pasangan kutipan pertama ke dalam target pintasan.
lassombra
Itu tidak masalah. Namun dalam satu batch Anda dapat melakukan lebih banyak hal seperti menghapus dir-pengguna-data setelah Anda menutup browser, misalnya.
guya
Benar, menambahkan perilaku di luar hanya dari peluncuran akan berguna, tetapi bagi kebanyakan orang yang membutuhkan ini secara panjang lebar, memiliki direktori pengguna yang persisten sangat membantu (misalnya dengan ekstensi yang diinstal)
lassombra
7

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
Santiago M. Quintero
sumber
6

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
Braian Mellor
sumber
Terima kasih. Ini berfungsi pada Chrome 73 terbaru yang termasuk kebijakan keamanan CORB yang baru.
StuyvesantBlue
6

Untuk OSX, jalankan perintah berikut dari terminal:

open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name

Ini akan memulai instance baru Google Chrome dengan peringatan di atas.

Melayu
sumber
5

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

denodster
sumber
3

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.

AFA
sumber
3

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' &
Tripati Ashutosh
sumber
3

Di Windows:

1) Buat pintasan baru:

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"

Tempel path

3) Pada jenis halaman berikutnya:

Unsafe Chrome.exe

masukkan deskripsi gambar di sini

Sekarang Anda memiliki chrome yang tidak aman di desktop untuk digunakan untuk debugging aplikasi CORS. Semoga jawaban grafis ini membantu beberapa orang!

Shadi Namrouti
sumber
1

Coba buka halaman ini dan nonaktifkan kebijakan keamanan domain untuk domain situs web Anda.

chrome://net-internals/#hsts
Rahul Malu
sumber
1
Tolong jelaskan. Di halaman ini di bagian bawah saya melihat Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):.
Vitaly Zdanevich
Adakah yang memecahkan ini?
Yipeekiyay
@RahulMalu apakah Anda berhasil melakukannya?
Ben Racicot