アーカイブ

【Web開発】Google Chrome で同一オリジンポリシーを無視する設定

Webフロントエンド開発時、実行環境では同一オリジンとなる前提の処理で、ローカルの開発環境ではクロスドメイン制約違反に引っかかってしまい、うまく動作しない場合があります。ブラウザ( Google Chrome )の設定で、一時的に回避する方法について調べてみました。

目次
  1. 手順
  2. ハマった点など
  3. ユーザーデータのディレクトリ指定について
  4. 動作確認Ver
  5. 参考
  6. おわりに
Windows 版 Google Chrome の内容になります。

手順

開発用に、同一オリジンポリシーを無視する設定で起動するショートカットを作成します。

①Google Chrome のショートカットを作成する

②作成したショートカットのプロパティを開く

③「ショートカット」タブの「リンク先(T):」で、オプションを追記する

リンク先の指定内容
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:\dev\chrome\User Data Dev" --disable-site-isolation-trials

あとは、作成したショートカットからChromeを起動し、動作確認を行います。


Site isolation が無効になっているかは、chrome:// process-internals で確認可能




Tips
セキュリティ機能を無効化するので、通常のブラウジングでは使用しないように注意しましょう。

ハマった点など

検索上位に出てくる情報は下記の指定がないものが多く、そのままでは有効にできませんでした。

--disable-site-isolation-trials

Site isolation というセキュリティ機能がある時点から追加されており、これを無効にしなければならないようです。

経緯として、—disable-web-security オプションの指定だけでよかったものが、–user-data-dir オプションが必要になり、さらに –disable-site-isolation-trials オプションが必要になったようですね。

今後もおそらくアップデートで指定の追加や変更が必要になりそうです。

ユーザーデータのディレクトリ指定について

--user-data-dir="C:\dev\chrome\User Data Dev"

上記の部分はユーザープロファイルのディレクトリの指定になりますので、 “C:\dev\chrome\User Data Dev”の部分については、任意のフォルダで問題ないようです。

多くのサイトの解説では、”C:/Chrome dev session”を指定するようになっていました。

私はあまり、C直下にフォルダを作成したくないので、記載のフォルダにしています。

ほんとはスペース含みのフォルダ名もあまり好きではありませんが、元々Chrome側で作成されるフォルダが「User Data」でスペース含みなので合わせる形で。

できれば、Chromeのユーザーデータが保存されているディレクトリ(%LOCALAPPDATA%\Google\Chrome)に保存したいところでした。しかし、ソフトウェア側で使用してるフォルダに勝手にフォルダを作ることで予期せぬ動作をしない保証はないので、念のため避けました。

指定フォルダに下図のようにユーザーデータが作成されます。

動作確認Ver

Google Chrome バージョン: 96.0.4664.45(Official Build) (64 ビット)

参考

Site Isolation – The Chromium Project

User Data Directory

同一オリジンポリシー – ウェブセキュリティ | MDN

Google Developers Japan: Chrome の Site Isolation で Spectre のリスクを軽減する

おわりに

中々この辺の用語を正しく理解するのが難しい・・・

プロフィール
筆者:UMAイカ

IT企業に勤務しています。当ブログは、うダツの上がらないサラリーマンがよりよい人生を目指して購入した商品のレビューや、仕事の備忘、生活の知恵を発信します。

アーカイブ