Google'ın Chrome tarayıcısında Aynı köken politikasını devre dışı bırakmanın bir yolu var mı ?
peter.sh
sayfaya bağlantı verir , bu yüzden oldukça yasal olmalıdır.
--disable-web-security --user-data-dir
Google'ın Chrome tarayıcısında Aynı köken politikasını devre dışı bırakmanın bir yolu var mı ?
peter.sh
sayfaya bağlantı verir , bu yüzden oldukça yasal olmalıdır.
--disable-web-security --user-data-dir
Yanıtlar:
Kromu (veya kromu) kapatın ve --disable-web-security
bağımsız değişkenle yeniden başlayın . Ben sadece bu test ve "localhost" (krom 5 / ubuntu altında test) sunulan bir sayfaya gömülü src = "http://google.com" bir iframe içeriğine erişebildiğini doğruladı. Benim için kesin komut şuydu:
Not: Komutu çalıştırmadan önce tüm krom örneklerini öldür
chromium-browser --disable-web-security --user-data-dir="[some directory here]"
Tarayıcı, ilk açıldığında "desteklenmeyen bir komut satırı kullanıyorsunuz" ve bunu göz ardı edebileceğiniz konusunda sizi uyarır.
Krom kaynağından:
// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";
Chrome 48'den önce şunları kullanabilirsiniz:
chromium-browser --disable-web-security
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.
Evet. OSX için Terminal'i açın ve şunu çalıştırın:
$ open -a Google\ Chrome --args --disable-web-security --user-data-dir
- OSX'te Chrome 49+ için kullanıcı-veri-dizini gerekir
Linux için:
$ google-chrome --disable-web-security
Ayrıca AJAX veya JSON gibi geliştirici amaçlar için yerel dosyalara erişmeye çalışıyorsanız, bu bayrağı da kullanabilirsiniz.
-–allow-file-access-from-files
Windows için komut istemine gidin ve Chrome.exe'nin bulunduğu klasöre gidin ve yazın
chrome.exe --disable-web-security
Bu, aynı kaynak politikasını devre dışı bırakmalı ve yerel dosyalara erişmenize izin vermelidir.
Güncelleme: Chrome 22+ için size bir hata mesajı gönderilecektir:
Desteklenmeyen bir komut satırı bayrağı kullanıyorsunuz: --disable-web-security. İstikrar ve güvenlik zarar görecektir.
Ancak geliştirirken bu mesajı göz ardı edebilirsiniz.
--disable-web-security
açıkça bir de vermedikçe şimdi çalışmıyor --user-data-dir
. yani OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.
open -n
. Sadece koş open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Bu, mac'unuzda ikinci bir Chrome uygulaması örneği açar ve bunları yan yana kullanabilirsiniz.
Windows kullanıcıları için:
Burada kabul edilen çözümle ilgili sorun, bence Chrome zaten açıksa ve çalıştırmayı denerseniz işe yaramayacak.
Ancak, bunu araştırırken Süper Kullanıcı'da bir yayınla karşılaştım, Chrome'u web güvenliği ile ve web güvenliği olmadan aynı anda çalıştırmak mümkün mü? .
Temel olarak, aşağıdaki komutu çalıştırarak (veya bununla bir kısayol oluşturarak ve bununla Chrome'u açarak)
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
diğer "güvenli" tarayıcı örneklerinizi normal şekilde açık ve çalışır durumda tutarken Chrome'un yeni bir "güvensiz" örneğini açabilirsiniz.
Önemli : C:/Chrome dev session
İkinci kez --disable-web-security
çalışmadığı için bir pencereyi her açtığınızda klasörü sil / temizle . Böylece değişikliklerinizi kaydedemez ve ardından Chrome ile ikinci güvenli olmayan bir örnek olarak tekrar açamazsınız --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"
, mevcut krom penceresinin odaklanmasını sağladı, başka bir şey değil mi?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(Önce geçici klasörü oluşturmanız gerekebilir)
For Windows'un :
Aşağıdaki komutu yürütün:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
For Mac :
Aşağıdaki komutu yürütün:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Yeni bir web güvenliği devre dışı krom tarayıcısı aşağıdaki iletiyle açılmalıdır:
Run
.
İçin pencereleri olan kullanıcılar , Chrome sürümleri 60.0.3112.78 (Günlük çözümü test edilmiş ve çalışmış olan) ve en azından bugüne kadar 2019/01/19 (vers. 71.0.3578.98) . Sen yok herhangi krom örnek kapatmak gerekir.
BU KATILIMCI TARAYICI KURULUĞUNU TARAMA İÇİN KULLANMAMANIZA DİKKAT EDİNİZ.
DÜZENLEME 3: Uzantının artık mevcut olmadığı anlaşılıyor ... Normalde bugünlerde CORS'u dolaşmak için ayrı bir dizine sahip başka bir Chrome sürümü ayarladım veya https://addons.mozilla.org/tr-TR/ ile Firefox kullanıyorum firefox / addon / cors-everywhere / yerine.
DÜZENLEME 2: Artık bunu tutarlı bir şekilde çalıştıramıyorum.
EDIT: Geçen gün başka bir proje için kullanmayı denedim ve çalışmayı durdurdu. Uzantıyı kaldırmak ve yeniden yüklemek düzeltildi (varsayılanları sıfırlamak için).
Orijinal Yanıt:
Chrome'u yeniden başlatmak ve web güvenliğimi devre dışı bırakmak istemedim (çünkü geliştirirken göz atıyordum) ve bu Chrome uzantısına rastladım.
Temel olarak İzin Ver-Erişime-Kökeni-Denetle denetimini açıp kapatmak için küçük bir geçiş anahtarıdır. Yaptığım şey için benim için mükemmel çalışıyor.
--disable-web-security
Bu durumda anahtara sadık kalın.
--allow-file-access-from-files
Tüm web güvenliğini devre dışı bırakmak yerine kullanabileceğinizi düşünün .
Yukarıdaki çözümlerin hiçbiri gerçekten çalışmıyor gibi görünüyor. --Disable-web güvenliği artık son krom sürümlerinde desteklenir.
Allow-Control-Allow-Origin: * - krom uzantısı sorunu kısmen çözdü. Yalnızca isteğiniz GET yöntemini kullanıyorsa ve özel bir HTTP Üstbilgisi yoksa çalışır. Aksi takdirde, krom uçuş öncesi istek olarak OPTIONS HTTP isteği gönderir. Sunucu CORS'i desteklemiyorsa, 404 HTTP durum kodu ile yanıt verecektir. Eklenti, yanıt HTTP durum kodunu değiştiremez. Böylece krom bu isteği reddedecektir. Chrome eklentisinin yanıt HTTP durum kodunu mevcut krom uzantı API'sına göre değiştirmesinin bir yolu yoktur. XHR tarafından başlatılan istek için de bir yönlendirme yapamazsınız.
Chrome'un geliştiricilerin hayatını neden bu kadar zorlaştırdığından emin değilim. Tamamen gereksiz olan geliştirme kullanımı için bile XSS güvenlik kontrolünü devre dışı bırakmanın tüm olası yollarını engeller.
Günler süren mücadele ve araştırmalardan sonra, bir çözüm benim için mükemmel bir şekilde çalışıyor: Kortroksiyi kullanmak . Burada iki seçeneğiniz var: 1. [ https://cors-anywhere.herokuapp.com/] adresini kullanın 2. yerel kutuya corsproxy yükleyin : npm install -g corsproxy
[Güncelleme tarihi: 23 Haz 2018] Yakın zamanda tekrar corsproxy kullanması gereken bir SPA uygulaması geliştiriyorum. Ancak, github üzerindeki hiçbir corsproxy benim ihtiyacımı karşılayamıyor gibi görünüyor.
Bu yüzden nodejs ile kendi corsproxy versiyonumu geliştirmeye karar verdim. Aslında çok basit. Ben github üzerinde bir öz olarak yayınladım. Kaynak kod özeti şudur: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
CORSProxy sunucusunu başlatmak için (http bağlantı noktası 8080): düğüm static_server.js 8080
proxy'ye erişmek için: http: // ana bilgisayar: 8080 / http: //www.somesite.com
Windows için ... masaüstünüzde bir Chrome kısayolu oluşturun.
> Özellikler> Kısayol
"hedef" yolunu düzenle'yi sağ tıklayın :
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
('C: .... \ chrome.exe'yi kromun bulunduğu yere değiştirin).
et voilà :)
Mac terminalinde bu komutu deneyin.
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
Güvenliği devre dışı bırakılmış başka bir krom örneği açar ve artık CORS sorunu yok. Ayrıca, artık diğer krom örneklerini de kapatmanıza gerek yok. Localhost URL'sini kendi URL'nizle değiştirin.
Bunu yapmanın en iyi yolunun Windows masaüstünüzdeki bir Chrome veya Chrome Canary kısayolunu çoğaltmak olduğunu düşünüyorum. Bu kısayolu "NO CORS" olarak yeniden adlandırın, sonra söz konusu kısayolun özelliklerini düzenleyin.
hedefte --disable-web-security --user-data-dir="D:/Chrome"
hedef yolun sonuna ekleyin .
hedefiniz şöyle görünmelidir:
Güncelleme: Yeni Bayraklar eklendi.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
mevcut en son krom sürümünü (83.0.4103.61 (Resmi Derleme) (64 bit)) kullanarak, testimde çalışmasını sağlamanın tek yolu aşağıdaki bayrakları kullanarak krom başlatmaktı ( D: \ temp'i beğeninize göre değiştirin) . Bu çözüm, testler için bir korumalı alan olarak kromu başlatacak ve ana krom profilini etkilemeyecektir:
--disable-site-isolation-trials --disable-web-security --user-data-dir = "D: \ temp"
Windows'ta, Başlat düğmesine tıklayın ve aşağıdakileri kopyalayıp yapıştırın:
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"
üzerinde run
pencerelerde pencereye 10. Çok teşekkürler.
"Allow-Control-Allow-Origin: *" adlı bu krom eklentisini kullanabilirsiniz ... Ölü bir basit yapar ve çok iyi çalışır. buradan kontrol edin: *
Selenium Webdriver için bu durumda uygun argümanlarla (veya "anahtarlarla") selenyum başlatma Chrome'una sahip olabilirsiniz.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Bu Chrome eklentisi benim için çalışıyor: Allow-Control-Allow-Origin: * - Chrome Web Mağazası
Bunu yapma! Hesaplarınızı saldırılara açıyorsunuz . Bunu yaptıktan sonra, herhangi bir 3. taraf sitesi, oturum açtığınız diğer web sitelerine istek vermeye başlayabilir.
Bunun yerine yerel bir sunucu çalıştırın. Bir kabuk / terminal / komut satırı açmak ve yazmak kadar kolay
cd path/to/files
python -m SimpleHTTPServer
Ardından tarayıcınızı
http://localhost:8000
Çok yavaş bulursanız bu çözümü düşünün
Bu cevabı küçümseyen insanlar buraya gelmeli ve tutarlı olmak için bu cevabı da düşürmelidir . Cevabımın neden bu kadar aşağıya indirildiğine dair bir fikir yok ve burada aynı cevap en çok oy alan cevap.
Sen olan saldırılara kendini açma. Sitenize uzaktan veya yerel olarak npm yoluyla eklediğiniz her 3. taraf komut dosyası artık verilerinizi yükleyebilir veya kimlik bilgilerinizi çalabilir. Yapmanıza gerek olmayan bir şey yapıyorsunuz. Önerilen çözüm zor değil, 30 saniye sürüyor, size açık saldırı bırakmıyor. Yapılacak en iyi şey bu kadar basit olduğunda neden kendinizi savunmasız hale getirmeyi tercih edersiniz?
İnsanlara güvenliği devre dışı bırakmalarını söylemek, arkadaşlarınıza ön kapılarını açık ve / veya paspasın altında bir anahtar bırakmalarını söylemek gibidir. Emin olun oranlar düşük olabilir, ancak zorla girilirse, zorla giriş kanıtı olmadan sigorta toplamakta zorlanabilirler. Benzer şekilde, güvenliği devre dışı bırakırsanız, yalnızca bu devre dışı bırakan güvenliği gerçekleştirirsiniz . Sorunu, güvenliği devre dışı bırakmadan çözebildiğinizde bunu yapmak sorumsuzdur. Güvenliği devre dışı bıraktığı için bazı şirketlere kovulmasanız şaşırırdım.
Bu krom uzantısını Allow-Control-Allow-Origin'i kullanabilirsiniz.
çapraz kaynak paylaşımını istediğiniz gibi AÇIK veya KAPALI duruma getirmek için genişletme simgesine tıklayın
YALNIZCA MAC KULLANICISI İÇİN
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Windows 10'da aşağıdakiler çalışır.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Ola Karlsson cevabını takiben, aslında en iyi yol güvensiz Chrome'u farklı bir oturumda açmak olacaktır. Bu şekilde, şu anda açık olan tüm sekmeleri kapatma konusunda endişelenmenize gerek kalmaz ve orijinal Chrome oturumuyla web'de güvenli bir şekilde gezinmeye devam edebilirsiniz.
Bu toplu iş dosyaları yalnızca Windows'ta sizin için çalışmalıdır.
Kolay kullanım için bir Chrome_CORS.bat dosyasına yerleştirin
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
Bu Chrome Canary içindir . Canary_CORS.bat
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
Linux-Ubuntu'da, aynı anda normal bir oturum ve güvenli olmayan bir oturum çalıştırmak için aşağıdaki komutu çalıştırın:
google-chrome --user-data-dir=/tmp --disable-web-security
mac kullanıcıları için:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
ve Chrome 48'den önce şunları kullanabilirsiniz:
open -a "Google Chrome" --args --disable-web-security
CORS Geçişi adlı bir Chrome uzantısı var.
Erişmek ve Chrome'a eklemek için burayı tıklayın .
Ekledikten sonra, alanlar arası isteklere izin vermek için onu açık konuma getirin.
Pencereler için:
( Windows 8.1, krom 44.0 kullanarak )
İlk olarak, Google Chrome'u kapatın.
Ardından, komut istemini açın ve 'chrome.exe'nin bulunduğu klasöre gidin.
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
Ben türü Yani:
cd C:\Program Files (x86)\Google\Chrome\Application
)
şimdi yazın: chrome.exe --disable-web-security
yeni bir krom penceresi açılacaktır.
Chrome'u başlatmak için Ubuntu'da aşağıdaki komut kullanılır (aynı başlangıç politikasını devre dışı bırakın ve kromu ayrı modda açın):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Windows'ta:
1) Yeni bir kısayol oluşturun:
2) Aşağıdaki yolu yapıştırın:
"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) Sonraki sayfada şunu yazın:
Unsafe Chrome.exe
Artık masaüstünde CORS uygulamalarında hata ayıklamak için güvenli olmayan bir krom var. Umarım bu grafik cevap bazı millet yardımcı olur!
Bu sayfaya gitmeyi ve web sitenizin alan adı için alan adı güvenlik politikasını devre dışı bırakmayı deneyin.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.