Googleの Chrome ブラウザで Same-Originポリシー を無効にする方法はありますか。
これは開発用であり、本番用ではありません。
クロム(またはクロム)を閉じて--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
うん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を使用しています。安定性と安全性が損なわれます。
ただし、開発中はそのメッセージを無視してもかまいません。
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番目の安全でないインスタンスとして再度開くことはできません。
Windowsの場合:
次のコマンドを実行してください。
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Macの場合:
次のコマンドを実行してください。
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Webセキュリティが無効になった新しいクロムブラウザが開き、次のメッセージが表示されます。
Chromeを再起動してWebセキュリティを無効にしたくない(開発中はブラウジングしていたので)、このChrome拡張機能に遭遇しました。
基本的にはAllow-Access-Origin-Controlチェックのオンとオフを切り替える小さなトグルスイッチです。私がしていることのために私のために完璧に動作します。
編集:私は先日他のプロジェクトに使用しようとしましたが、それは動作を停止しました。拡張機能をアンインストールして再インストールすることで、それが修正されました(デフォルトをリセットするため)。
編集2:私はもはやこれを一貫して機能させることはできません
windowsの場合Chromeバージョン60.0.3112.78(ソリューションがテストおよび動作した日)および少なくとも今日2019年1月19日(ver。71.0.3578.98)。 しない chromeインスタンスを閉じる必要があります。
ハッキングされる可能性があるため、ブラウジングにこの特定のブラウザインスタンスを使用しないでください!
上記の解決策のどれも実際にはうまくいっていないようです。 --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のどれも私の要求を満たすことができないようです。
そこで私はnodejsを使って自分のバージョンのcorsproxyを開発することにしました。実はとても簡単です。私はそれをgithubの要旨として公開しました。ここにソースコードの要旨です: https://Gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Windowsの場合...デスクトップにChromeショートカットを作成します。
右クリック> [プロパティ]> [ショートカット]
"target"パスを編集してください。
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
( 'C:....\chrome.exe'をあなたのクロムが存在する場所に変更してください)。
etvoilà:)
これを行う最良の方法は、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"
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をあなたのものに変更してください。
あなたは "Allow-Control-Allow-Origin:*"と呼ばれるこのクロムプラグインを使うことができます...それはそれを死んで単純にしてとてもうまく動くようにします。 ここでチェックしてください:*
Selenium Webdriverの場合、この場合はSeleniumに適切な引数(または「スイッチ」)を付けてChromeを起動することができます。
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Linux上でGoogle Chromeを使用している場合は、次のコマンドが機能します。
google-chrome --disable-web-security
このChromeプラグインは私のために働きます: Allow-Control-Allow-Origin:* - Chromeウェブストア
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
Windows 10では、以下が機能します。
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-Origin-auth-Prompt
MACユーザー専用 /
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
あなたは単にこのクロム拡張子 Allow-Control-Allow-Originを使用することができます
拡張機能のアイコンをクリックするだけで、必要に応じてリソース間の共有の有効化をオンまたはオフにできます。
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
macユーザーの場合:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
chrome 48以前は、次のものを使用できました
open -a "Google Chrome" --args --disable-web-security
現在の最新のクロムバージョン(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"
しないでください。 あなたはあなたのアカウントを攻撃にさらしています 。これを実行すると、サードパーティのサイトから他のWebサイト、つまり自分がログインしているサイトへの要求の発行を開始できます。
代わりにローカルサーバーを実行してください。 Shell/terminal/commandlineを開いて入力するのと同じくらい簡単です。
cd path/to/files
python -m SimpleHTTPServer
それからあなたのブラウザを指す
http://localhost:8000
遅すぎると感じたら この解決策を考えてください
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
クロムの新しいウィンドウが開きます。
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
Windows PCでは、Chromeの古いバージョンを使用してください。そうすれば、コマンドはすべての人にとってうまくいきます。 Chromeを26バージョンにダウングレードしましたが、うまくいきました。
私は時々これを、localhostフロントエンドサイトをlocalhostバックエンドAPIにポストするために使用します(例えば、古い.NET APIに対してReact)。私は自分のWindows 10デスクトップに別のショートカットを作成したので、通常のブラウジングには使用されず、ローカルでのデバッグにのみ使用されます。私は以下のことをしました: -
"[PATH_TO_CHROME]\chrome.exe" --disable-web-security
として追加しますあなたはそれが安全ではないことを、このブラウザのロード時に警告を受けるでしょう、ただあなたがそれをブラウザしているものに注意してください。私は、デスクトップ上のこの新しいショートカットの名前を変更し、他のアイコンから移動することで、通常のChromeと混同しないようにします。
お役に立てれば!
このページにアクセスして、Webサイトドメインのドメインセキュリティポリシーを無効にしてください。
chrome://net-internals/#hsts
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が無効になります