4.13. Coexisting with Web Browsing (Web ブラウジングとの共存)
4.13. Coexisting with Web Browsing (Web ブラウジングとの共存)
アプリケーションが Web ブラウザでの使用を意図していない場合でも, そのリソースは偶然 (例えば, 設定ミスによって) または悪意を持ってブラウザからアクセスされる可能性があります。アプリケーションはこのような状況でどのように動作するかを考慮する必要があります。
ブラウザでの使用を意図していないアプリケーションの場合:
-
アプリケーションはブラウザからアクセスされたときに適切なエラーメッセージ (例えば,
403 Forbiddenまたは404 Not Found) を返すべきです (SHOULD)。 -
アプリケーションはブラウザがアプリケーションにアクセスした場合に何ができるかを制限するためにセキュリティヘッダー (
Content-Security-Policy[CSP],X-Frame-Optionsなど) を含めるべきです (SHOULD)。 -
アプリケーションはリダイレクトの自動フォロー, JavaScript の実行, プリフェッチリクエストの作成などのブラウザ固有の動作を認識すべきです (SHOULD)。
API クライアントと Web ブラウザの両方をサポートすることを意図しているアプリケーションの場合:
-
アプリケーションは異なるクライアントに適切な表現を提供するためにコンテンツネゴシエーションを使用すべきです (SHOULD)。
-
アプリケーションはブラウザベースのアクセスがセキュリティ脆弱性を生み出さないことを確認すべきです (SHOULD) (セクション 6 を参照)。
-
アプリケーションは異なるセキュリティポリシーを許可するために, ブラウザと非ブラウザアクセスに異なる URL またはサブドメインを使用することを検討すべきです (SHOULD)。
アプリケーションは Cross-Origin Resource Sharing (CORS) [FETCH] とそれがブラウザベースのリソースアクセスにどのように影響するかを認識すべきです (SHOULD)。CORS は, どのオリジンがブラウザからリソースにアクセスすることを許可されるかを制御するために使用できます。