7

在浏览 DOM XSS 攻击的位置源时,我试图了解它们在用法上的差异(即在哪里使用什么)。根据 MDN, 和 之间的区别document.documentURI如下document.URL

HTML 文档有一个document.URL返回相同值的属性。与, 不同URLdocumentURI适用于所有类型的文档。

谁能解释 onlydocumentURI可用而不可用的情况URL

编辑:

我想知道一些实际发生这种情况的具体情况。

4

2 回答 2

3

document.documentURI可用于HTML文档和非 HTML文档。

document.URL可用于HTML文档。


例子:

<?xml version="1.0" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">

  <circle cx="250" cy="250" r="50" fill="red" />

  <script type="text/javascript">
  <![CDATA[
  alert(document.URL);
  alert(document.documentURI);
  ]]>
  </script>

</svg>

第一个警报 ( document.URL) 将是undefined

于 2013-11-05T12:50:23.247 回答
-3

URI(统一资源定位器)分为 URN 和 URL。

URL 只是 HTML 文档在 Web 上的位置,它是一个定位器以及一个类似于人名或街道地址的 URN。

因此,URI 标识并指向一个文件。URL 只是在没有完整标识的情况下定位文件的方法(作为它唯一的也使用 URN 的 URI 的一部分)。

希望这可以帮助

于 2013-11-04T21:37:31.257 回答