web-dev-qa-db-ja.com

Chromeで同じOriginポリシーを無効にする

Googleの Chrome ブラウザで Same-Originポリシー を無効にする方法はありますか。

これは開発用であり、本番用ではありません。

1242
Landon Kuhn

クロム(またはクロム)を閉じて--disable-web-security引数で再起動してください。これをテストしたところ、 "localhost"から配信されるページに埋め込まれたsrc = "http://google.com"を使用してiframeのコンテンツにアクセスできることを確認しました(クロム5/ubuntuでテスト済み)。私にとって正確なコマンドは次のとおりです。

注:コマンドを実行する前に、すべてのクロムインスタンスを強制終了してください

chromium-browser --disable-web-security --user-data-dir="[some directory here]"

ブラウザは最初に開いたときに「サポートされていないコマンドラインを使用しています」と警告しますが、無視してかまいません。

クロム源から:

// Don't enforce the same-Origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";

Chrome 48より前のバージョンでは、

chromium-browser --disable-web-security
864
Dagg Nabbit

うんOSXの場合は、ターミナルを開いて以下を実行します。

$ open -a Google\ Chrome --args --disable-web-security --user-data-dir

--user-data-dirはOSX上のChrome 49+で必要です

Linuxの場合:

$ google-chrome --disable-web-security

AJAXやJSONのような開発目的でローカルファイルにアクセスしようとしている場合も、このフラグを使用できます。

-–allow-file-access-from-files

Windowsの場合は、コマンドプロンプトでChrome.exeがあるフォルダに移動して次のように入力します。

chrome.exe --disable-web-security

これで同じOriginポリシーが無効になり、ローカルファイルにアクセスできるようになります。

更新: Chrome 22以降の場合、次のようなエラーメッセージが表示されます。

サポートされていないコマンドラインフラグ、 - disable-web-securityを使用しています。安定性と安全性が損なわれます。

ただし、開発中はそのメッセージを無視してもかまいません。

981
ectype

Windowsユーザーの場合:

ここで受け入れられている解決策の問題は、私の意見では、すでにChromeを開いていてこれを実行しようとするとうまくいかないということです。 

しかし、これを調べているとき、私はスーパーユーザーについての投稿に出会いました、同時にWebセキュリティの有無にかかわらずChromeを実行することは可能ですか?

基本的には、次のコマンドを実行する(またはそれを使用してショートカットを作成し、それを介してChromeを開く)

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

他の「安全な」ブラウザインスタンスを開いたままにして通常どおり動作しているのと同時に、新しい「安全でない」Chromeインスタンスを開くことができます。 重要 :2回目にウィンドウを開くたびにC:/Chrome dev sessionフォルダーを削除/消去する--disable-web-securityは機能しません。そのため、変更を保存してから、--disable-web-securityを使用してChromeの2番目の安全でないインスタンスとして再度開くことはできません。

431
Ola Karlsson

Windowsの場合:

  1. スタートメニューを開く
  2. タイプ windows+R または「実行」を開く
  3. 次のコマンドを実行してください。

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

Macの場合:

  1. ターミナルへ
  2. 次のコマンドを実行してください。

    open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
    

Webセキュリティが無効になった新しいクロムブラウザが開き、次のメッセージが表示されます。

enter image description here

113
GSB

Chromeを再起動してWebセキュリティを無効にしたくない(開発中はブラウジングしていたので)、このChrome拡張機能に遭遇しました。

ChromeウェブストアのAllow-Control-Allow-Origin:* 
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=ja)

基本的にはAllow-Access-Origin-Controlチェックのオンとオフを切り替える小さなトグルスイッチです。私がしていることのために私のために完璧に動作します。

編集:私は先日他のプロジェクトに使用しようとしましたが、それは動作を停止しました。拡張機能をアンインストールして再インストールすることで、それが修正されました(デフォルトをリセットするため)。

編集2:私はもはやこれを一貫して機能させることはできません

71
Coburn

windowsの場合Chromeバージョン60.0.3112.78(ソリューションがテストおよび動作した日)および少なくとも今日2019年1月19日(ver。71.0.3578.98)しない chromeインスタンスを閉じる必要があります。

  1. デスクトップにショートカットを作成します
  2. ショートカットを右クリックして、[プロパティ]をクリックします。
  3. ターゲットプロパティを編集する
  4. "C:\ Program Files(x86)\ Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir = "C:/ ChromeDevSession"に設定します=
  5. chromeを開始し、ignoreというメッセージが表示されます--- disable-web-securityはサポートされていません!

ハッキングされる可能性があるため、ブラウジングにこの特定のブラウザインスタンスを使用しないでください!

63
Ognyan Dimitrov

上記の解決策のどれも実際にはうまくいっていないようです。 --disable-web-security は、最近のクロムバージョンではサポートされなくなりました。 

Allow-Control-Allow-Origin:* - クロム拡張 部分的に問題を解決しました。リクエストがGETメソッドを使用していて、カスタムHTTPヘッダがない場合にのみ機能します。そうでなければ、chromeはフライト前のリクエストとしてOPTIONS HTTPリクエストを送信します。サーバーがCORSをサポートしていない場合は、404 HTTPステータスコードで応答します。プラグインはレスポンスのHTTPステータスコードを変更することはできません。そのためchromeはこのリクエストを拒否します。クロムプラグインが現在のクロム拡張APIに基づいてレスポンスHTTPステータスコードを変更する方法はありません。そして、あなたはXHRが開始したリクエストに対してもリダイレクトをすることができません。

なぜChromeが開発者の生活を非常に困難にするのかわからない。これは、まったく使用する必要がない開発用途であってもXSSセキュリティチェックを無効にするすべての可能な方法をブロックします。

日々の奮闘と研究の末、私にとっては1つの解決策が完璧に機能しました: corsproxy を使うこと。ここには2つの選択肢があります。 1。 corsproxy.com を使用してください。ローカルボックスにcorsproxyをインストールします。 npm install -g corsproxy

[2018年6月23日に更新] 最近私はcorsproxyを再び使う必要があるSPAアプリを開発しています。しかし、githubのCorsproxyのどれも私の要求を満たすことができないようです。 

  • セキュリティ上の理由から、ファイアウォールの内側で実行する必要があります。だから私は https://cors-anywhere.herokuapp.com/ - は使えません。 
  • Httpsページでchromeがhttpsなしのajaxリクエストをブロックするため、httpsをサポートする必要があります。 
  • 私はnodejsで実行する必要があります。他の言語スタックを維持したくありません。

そこで私はnodejsを使って自分のバージョンのcorsproxyを開発することにしました。実はとても簡単です。私はそれをgithubの要旨として公開しました。ここにソースコードの要旨です: https://Gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • 追加の依存関係のない単純なnodejsコードです。
  • Httpsを実行するには、httpおよびhttpsモードで(コマンドラインにhttpsポート番号を渡すことによって)実行できます。これには、certとキーを生成してそれらをwebrootディレクトリに入れる必要があります。 
  • 静的ファイルサーバーとしても機能します。
  • 飛行前のOPTIONリクエストにも対応しています。
42
Jianwu Chen

Windowsの場合...デスクトップにChromeショートカットを作成します。
右クリック> [プロパティ]> [ショートカット]
"target"パスを編集してください。 

"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security

( 'C:....\chrome.exe'をあなたのクロムが存在する場所に変更してください)。

etvoilà:) 

41
molokoloco

これを行う最良の方法は、WindowsデスクトップにChromeまたはChrome Canaryのショートカットを複製することです。このショートカットの名前を "NO CORS"に変更してから、そのショートカットのプロパティを編集します。 

ターゲットで、ターゲットパスの末尾に--disable-web-security --user-data-dir="D:/Chrome"を追加します。 

ターゲットは次のようになります。

更新: 新しいフラグを追加。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"

enter image description here

34
etoxin

Mac端末でこのコマンドを試してください -

open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security 

セキュリティが無効になった別のクロムインスタンスが開かれ、CORSの問題はもう発生しません。また、他のクロムインスタンスを閉じる必要はもうありません。 localhostのURLをあなたのものに変更してください。

29
Vivek Sinha

あなたは "Allow-Control-Allow-Origin:*"と呼ばれるこのクロムプラグインを使うことができます...それはそれを死んで単純にしてとてもうまく動くようにします。 ここでチェックしてください:*

Chrome extenstion

19
Mohamed Saleh

Selenium Webdriverの場合、この場合はSeleniumに適切な引数(または「スイッチ」)を付けてChromeを起動することができます。

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })
18
mikelupo

Linux上でGoogle Chromeを使用している場合は、次のコマンドが機能します。

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

このChromeプラグインは私のために働きます: Allow-Control-Allow-Origin:* - Chromeウェブストア

12
Bruce
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
9
MechaCode

Windows 10では、以下が機能します。

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-Origin-auth-Prompt
8
ItsAllABadJoke

MACユーザー専用

open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security

あなたは単にこのクロム拡張子 Allow-Control-Allow-Originを使用することができます

拡張機能のアイコンをクリックするだけで、必要に応じてリソース間の共有の有効化をオンまたはオフにできます。 

8
Peter Wilson

Ola Karlssonの答えに続いて、確かに最善の方法は別のセッションで危険なChromeを開くことでしょう。こうすれば、現在開いているすべてのタブを閉じることを心配する必要はなく、また元のChromeセッションで安全にWebを閲覧することができます。

これらのバッチファイルはWindows上で動作するはずです。

Chrome_CORS.batファイルに入れて 簡単に使えるように

start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security

これは 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
7
guya

CORS ToggleというChromeの拡張機能があります。

ここをクリックしてアクセスし、Chromeに追加してください

追加したら、 on の位置に切り替えて、クロスドメイン要求を許可します。

6
Mowzer

macユーザーの場合:

open -a "Google Chrome" --args --disable-web-security --user-data-dir

chrome 48以前は、次のものを使用できました

open -a "Google Chrome" --args --disable-web-security
5
Braian Mellor

現在の最新のクロムバージョン(73.0.3683.86)を使用して、それを私のテストで動作させる唯一の方法は以下のフラグを使用してクロムを開始することでした( D:\ temp をあなたの好みに変更します)。 ):

- 無効サイト隔離試行 - 無効Webセキュリティ--user-data-dir = "D:\ temp"

windowsの場合は、スタートボタンをクリックして、以下をコピーして貼り付けます。

chrome.exe  --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
4
user2576266

しないでください。 あなたはあなたのアカウントを攻撃にさらしています 。これを実行すると、サードパーティのサイトから他のWebサイト、つまり自分がログインしているサイトへの要求の発行を開始できます。

代わりにローカルサーバーを実行してください。 Shell/terminal/commandlineを開いて入力するのと同じくらい簡単です。

cd path/to/files
python -m SimpleHTTPServer

それからあなたのブラウザを指す

http://localhost:8000

遅すぎると感じたら この解決策を考えてください

3
gman

Windowsの場合

ウィンドウ8.1、chrome 44.0 を使用) 

まず、グーグルクロムを閉じます。

次に、コマンドプロンプトを開き、 'chrome.exe'があるフォルダに移動します。

( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".

だから私は入力します。 cd C:\Program Files (x86)\Google\Chrome\Application

今タイプする:chrome.exe --disable-web-security

クロムの新しいウィンドウが開きます。

3
Fuad Ahmad

Linux-Ubuntuで、通常のセッションと安全でないセッションを同時に実行するには、次のコマンドを実行します。

google-chrome  --user-data-dir=/tmp --disable-web-security

これは絶えず動いているターゲットです....今日私はそれを機能させるために別のフラグを追加する必要がありました: --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

2
denodster

Windows PCでは、Chromeの古いバージョンを使用してください。そうすれば、コマンドはすべての人にとってうまくいきます。 Chromeを26バージョンにダウングレードしましたが、うまくいきました。

1
user1578524

私は時々これを、localhostフロントエンドサイトをlocalhostバックエンドAPIにポストするために使用します(例えば、古い.NET APIに対してReact)。私は自分のWindows 10デスクトップに別のショートカットを作成したので、通常のブラウジングには使用されず、ローカルでのデバッグにのみ使用されます。私は以下のことをしました: -

  1. デスクトップを右クリックして新しいショートカットを追加する
  2. ターゲットを"[PATH_TO_CHROME]\chrome.exe" --disable-web-securityとして追加します
  3. OKをクリックしてください。

あなたはそれが安全ではないことを、このブラウザのロード時に警告を受けるでしょう、ただあなたがそれをブラウザしているものに注意してください。私は、デスクトップ上のこの新しいショートカットの名前を変更し、他のアイコンから移動することで、通常のChromeと混同しないようにします。

お役に立てれば!

0
Mike Upjohn

このページにアクセスして、Webサイトドメインのドメインセキュリティポリシーを無効にしてください。

chrome://net-internals/#hsts
0
Rahul Malu

ChromeのAllow-Control-Allow-Originプラグインは機能しません。これはMacOS用です

alias chrome='open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir --disable-web-security'をエイリアスとして.profileに追加しました。

他のコマンドは他の拡張機能を無効にし、これにより通常のchromeが起動し、corsが無効になります

0