Gecko 1.8 以前では、2つの file: URI は同一オリジンとみなされます。つまり、ローカルディスク上のHTMLファイルはローカルディスク上の別ファイルを読み込めます。

Gecko 1.9 からは、ファイルは特定のファイルのみ読み込みが許可されます。具体的には、読み込み元ファイルの親ディレクトリが、読み込み対象ファイルの祖先ディレクトリと同じ場合のみ、読み込みができます。ただし、ディレクトリはこの方法では読み込めません。

例えば別のファイル bar.html にアクセスするファイル foo.html があり、それをファイル index.html から操作した場合、読み込みが成功するのは bar.htmlindex.html と同じディレクトリ内にあるか、bar.html のあるディレクトリが index.html と同じディレクトリ内に含まれる場合のみです。

このポリシーは XMLHttpRequestXSLT、XBL を含む、同一オリジンチェックが行われるときすべてに影響します。

クロスウィンドウDOMアクセスの場合、各ファイルは別のオリジンとして扱われますが、例外が1つあります。ファイルが別のファイルから読み込まれたときにこの同一オリジンポリシーに従って読み込める場合は、それらは同じオリジンとみなされる、ということです。この読み込みは、サブフレーム、リンク、ロケーションセット、window.open() の呼び出しなどを通して発生します。

例えばファイル /home/user/foo.html がフレームセットで、フレームの1つが /home/user/subdir/bar.html のとき、このフレームとフレームセットは同じオリジンとみなされます。一方、ファイル /home/user/subdir/foo.html がフレームセットで、フレームが /home/user/bar.html のとき、このフレームとフレームセットは異なるオリジンとみなされます。

新しい security.fileuri.strict_origin_policy 設定の標準は true で、ユーザーが file: URI の際に厳密な同一オリジンポリシーの適用を求めない場合は false にすることもできます。

ドキュメントのタグと貢献者

 このページの貢献者: chrisdavidmills, nissuk
 最終更新者: nissuk,