Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 412295 of 同一オリジンポリシー

  • リビジョンの URL スラグ: JavaScript/Same_origin_policy_for_JavaScript
  • リビジョンのタイトル: 同一生成元ポリシー
  • リビジョンの ID: 412295
  • 作成日:
  • 作成者: ethertank
  • 現行リビジョン? いいえ
  • コメント

このリビジョンの内容

同一生成元ポリシーによって、ある生成元から読み込まれた文書やスクリプトが、異なる生成元からの文書のプロパティを取得したり設定したりするのを防ぎます。このポリシーは Netscape Navigator 2.0 までさかのぼります。

もしプロトコル、(与えられていれば) ポート、及びホストが両方のページで同じならば、Mozilla は二つのページが同一生成元を持っていると見なします。説明するために、以下の表では URL https://store.company.com/dir/page.html との生成元の比較の例を挙げています。

URL 結果 理由
https://store.company.com/dir2/other.html 成功      
https://store.company.com/dir/inner/another.html 成功      
https://store.company.com/secure.html 失敗 異なるプロトコル
https://store.company.com:81/dir/etc.html 失敗 異なるポート
https://news.company.com/dir/other.html 失敗 異なるホスト

同一生成元ポリシーには一つの例外があります。スクリプトは document.domain の値を現在のドメインのサフィックスに設定できます。もしスクリプトによってそのように設定されたら、より短いドメインは次の生成元のチェックのために使われます。例えば、https://store.company.com/dir/other.html にある文書内のスクリプトが以下の命令文を実行したと想定します:

document.domain = "company.com";

この命令文の実行後、ページは https://company.com/dir/page.html で生成元のチェックを通るでしょう。しかし、同じ理由で、company.comdocument.domainothercompany.com に設定することはできません。

Original Document Information

  • Author(s): Jesse Ruderman

このリビジョンのソースコード

<p>同一生成元ポリシーによって、ある生成元から読み込まれた文書やスクリプトが、異なる生成元からの文書のプロパティを取得したり設定したりするのを防ぎます。このポリシーは Netscape Navigator 2.0 までさかのぼります。</p>
<p>もしプロトコル、(与えられていれば) ポート、及びホストが両方のページで同じならば、Mozilla は二つのページが同一生成元を持っていると見なします。説明するために、以下の表では URL <span class="nowiki">https://store.company.com/dir/page.html</span> との生成元の比較の例を挙げています。</p>
<table class="standard-table">
  <tbody>
    <tr>
      <th>URL</th>
      <th>結果</th>
      <th>理由</th>
    </tr>
    <tr>
      <td><code><span class="nowiki">https://store.company.com/dir2/other.html</span></code></td>
      <td>成功</td>
      <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
    </tr>
    <tr>
      <td><code><span class="nowiki">https://store.company.com/dir/inner/another.html</span></code></td>
      <td>成功</td>
      <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
    </tr>
    <tr>
      <td><code><span class="nowiki">https://store.company.com/secure.html</span></code></td>
      <td>失敗</td>
      <td>異なるプロトコル</td>
    </tr>
    <tr>
      <td><code><span class="nowiki">https://store.company.com:81/dir/etc.html</span></code></td>
      <td>失敗</td>
      <td>異なるポート</td>
    </tr>
    <tr>
      <td><code><span class="nowiki">https://news.company.com/dir/other.html</span></code></td>
      <td>失敗</td>
      <td>異なるホスト</td>
    </tr>
  </tbody>
</table>
<p>同一生成元ポリシーには一つの例外があります。スクリプトは <code><a href="/ja/DOM/document.domain" title="ja/DOM/document.domain">document.domain</a></code> の値を現在のドメインのサフィックスに設定できます。もしスクリプトによってそのように設定されたら、より短いドメインは次の生成元のチェックのために使われます。例えば、<code><span class="nowiki">https://store.company.com/dir/other.html</span></code> にある文書内のスクリプトが以下の命令文を実行したと想定します:</p>
<pre class="eval">
document.domain = "company.com";
</pre>
<p>この命令文の実行後、ページは <code><span class="nowiki">https://company.com/dir/page.html</span></code> で生成元のチェックを通るでしょう。しかし、同じ理由で、<code>company.com</code> は <code>document.domain</code> を <code>othercompany.com</code> に設定することはできません。</p>
<div class="originaldocinfo">
  <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
  <ul>
    <li>Author(s): Jesse Ruderman</li>
  </ul>
</div>
<!-- このページは https://www.mozilla-japan.org/projects/security/components/same-origin.html から移行されました -->
このリビジョンへ戻す