Skip to content

Latest commit

 

History

History
93 lines (67 loc) · 2.61 KB

File metadata and controls

93 lines (67 loc) · 2.61 KB
title slug l10n
CSP: base-uri
Web/HTTP/Headers/Content-Security-Policy/base-uri
sourceCommit
45c7ae13178203b4ee58842efbe2a27deab274a6

{{HTTPSidebar}}

HTTP の {{HTTPHeader("Content-Security-Policy")}} の base-uri ディレクティブは、文書の {{HTMLElement("base")}} 要素で使用することができる URL を制限します。この値が存在しない場合は、任意の URI が許可されます。このディレクティブが存在しない場合、ユーザーエージェントは {{HTMLElement("base")}} 要素の値を使用します。

CSP バージョン 2
ディレクティブ種別 {{Glossary("Document directive")}}
{{CSP("default-src")}} による代替 設定しないと、任意の URL が許可されます。

構文

1 つまたは複数のソースを base-uri ポリシーに使用することができます。

Content-Security-Policy: base-uri <source>;
Content-Security-Policy: base-uri <source> <source>;

ソース

このディレクティブは、他の CSP ディレクティブと同じように、引数のソース値のほとんどを使用します。 CSP のソース値

なお、 base-uri ではいくつかの値、たとえば 'unsafe-inline''strict-dynamic' などのキーワードは意味がありません。

Meta タグの設定

<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />

Apache の設定

<IfModule mod_headers.c>
Header set Content-Security-Policy "base-uri 'self'";
</IfModule>

Nginx の設定

add_header Content-Security-Policy "base-uri 'self';"

違反になる場合

ドメインが example.com ではないので、 {{HTMLElement("base")}} 要素の hrefhttps://example.com に設定すると、 CSP 違反となります。

<meta http-equiv="Content-Security-Policy" content="base-uri 'self'" />
<base href="https://example.com/" />

<!--
// Error: Refused to set the document's base URI to 'https://example.com/'
// because it violates the following Content Security Policy
// directive: "base-uri 'self'"
-->

仕様書

{{Specifications}}

ブラウザーの互換性

{{Compat}}

関連情報

  • {{HTTPheader("Content-Security-Policy")}}
  • {{HTMLElement("base")}}
  • {{domxref("Node.baseURI")}}