[解決済み] Access-Control-Allow-Originですべてのドメインを許可する設定にした場合、どのようなセキュリティリスクがありますか?
質問
最近
Access-Control-Allow-Origin
から
*
サブドメインをまたがるAJAXの呼び出しを行えるようにするためです。これは、セキュリティ上の問題があるような気がします。この設定を維持した場合、私はどのようなリスクにさらされるのでしょうか?
解決方法は?
Access-Control-Allow-Origin: *
は、どのようなリソースに追加しても全く問題ありません。
ただし
そのリソースは、標準的な認証情報以外のもので保護された個人データを含んでいます。標準的な認証情報は、Cookie、HTTP 基本認証、TLS クライアント証明書です。
例:クッキーで保護されたデータは安全です。
想像してみてください
https://example.com/users-private-data
は、ユーザーのログイン状態に応じて個人データを公開する可能性があります。この状態は、セッションクッキーを使用します。これは
安全
を追加することで
Access-Control-Allow-Origin: *
このヘッダは、リクエストがクッキーなしで行われた場合にのみレスポンスへのアクセスを許可し、プライベートデータを取得するためにはクッキーが必要だからです。その結果、プライベートなデータが漏れることはありません。
例:位置情報/IP/内部ネットワークで保護されたデータは安全ではない(残念ながらイントラネットや家電製品に多い)。
想像してみてください
https://intranet.example.com/company-private-data
しかし、これは会社の無線LANネットワークに接続していないとアクセスできません。これは
安全ではない
を追加します。
Access-Control-Allow-Origin: *
は、標準的な認証情報以外のもので保護されているため、このリソースに追加することができます。そうしないと、悪質なスクリプトによって、イントラネットへのトンネルとして利用される可能性があります。
経験則
ユーザーがシークレット・ウィンドウでリソースにアクセスした場合、何が見えるかを想像してください。このコンテンツ(ブラウザが受け取ったソースコードも含む)を誰もが見て満足するのであれば、次のように追加するのが安全です。
Access-Control-Allow-Origin: *
.
関連
-
[解決済み] AJAX使用時にGoogle Maps APIが "Uncaught ReferenceError: google is not defined "を投げる。
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] 後で平文を取り出すためのユーザーパスワードの保管について、倫理的にどのように取り組むべきでしょうか?
-
[解決済み] Access-Control-Allow-Origin複数オリジンのドメイン?
-
[解決済み] REST APIからデータを取得しようとしたときに、要求されたリソースに'Access-Control-Allow-Origin'ヘッダーが存在しない。
-
[解決済み] プリフライト要求に対する応答がアクセス制御チェックを通過しない
-
[解決済み] file:// URLから実行されるアプリケーションのリクエストで、"Origin null is not allowed by Access-Control-Allow-Origin" エラーが発生する。
-
[解決済み] CORSです。資格情報フラグが true の場合、Access-Control-Allow-Origin でワイルドカードを使用できない。
-
[解決済み] 一般的なブラウザでは、AJAX(XmlHttpRequest)の同時リクエストはいくつまで可能ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Google Maps APIがAJAX使用時のみ「Uncaught ReferenceError: google is not defined」を投げる。
-
[解決済み】Angularで実際のエラーメッセージの代わりに「Http failure response for (unknown url): 0 Unknown Error」が表示されるのですが。
-
[解決済み] エラー「SCRIPT7002」の解決方法について。XMLHttpRequest: IEで「ネットワークエラー 0x80070005, アクセスは拒否されました。
-
[解決済み] check_ajax_referer() は実際どのように動作するのでしょうか?
-
(フロントエンド)警告。メインスレッドでの XMLHttpRequest の同期は非推奨です。
-
[解決済み] FirefoxでjQuery $.ajax(), $.post がREQUEST_METHODとして "OPTIONS "を送信する問題
-
[解決済み] jQuery AJAXリクエストをキャンセル/中止する方法は?
-
[解決済み】Chromeでのリクエストモニタリング
-
[解決済み] POST JSONが415 Unsupported media typeで失敗する、Spring 3 mvc
-
[解決済み] WebサーバーからブラウザにデータをPUSHする方法はありますか?