在浏览 DOM XSS 攻击的位置源时,我试图了解它们在用法上的差异(即在哪里使用什么)。根据 MDN, 和 之间的区别document.documentURI
如下document.URL
。
HTML 文档有一个
document.URL
返回相同值的属性。与, 不同URL
,documentURI
适用于所有类型的文档。
谁能解释 onlydocumentURI
可用而不可用的情况URL
?
编辑:
我想知道一些实际发生这种情况的具体情况。
在浏览 DOM XSS 攻击的位置源时,我试图了解它们在用法上的差异(即在哪里使用什么)。根据 MDN, 和 之间的区别document.documentURI
如下document.URL
。
HTML 文档有一个
document.URL
返回相同值的属性。与, 不同URL
,documentURI
适用于所有类型的文档。
谁能解释 onlydocumentURI
可用而不可用的情况URL
?
编辑:
我想知道一些实际发生这种情况的具体情况。
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
。
URI(统一资源定位器)分为 URN 和 URL。
URL 只是 HTML 文档在 Web 上的位置,它是一个定位器以及一个类似于人名或街道地址的 URN。
因此,URI 标识并指向一个文件。URL 只是在没有完整标识的情况下定位文件的方法(作为它唯一的也使用 URN 的 URI 的一部分)。
希望这可以帮助