在我的默认网页中,当用户单击某些内容(使用 JS)时,我会弹出一些 Iframe。
我怎样才能阻止用户直接访问链接:WWW.mydomain.com/Iframe.aspx
并查看完整页面,但只要他们从默认页面单击 iframe 按钮,他们仍然可以访问。
默认 - default.aspx Iframe - Iframe.aspx。
谢谢。
在我的默认网页中,当用户单击某些内容(使用 JS)时,我会弹出一些 Iframe。
我怎样才能阻止用户直接访问链接:WWW.mydomain.com/Iframe.aspx
并查看完整页面,但只要他们从默认页面单击 iframe 按钮,他们仍然可以访问。
默认 - default.aspx Iframe - Iframe.aspx。
谢谢。
Web 应用程序使用一种称为Frame killer的技术来防止其网页显示在框架内。在你的情况下,它有点相反,但我们可以借用一个类似的想法。
如果您Iframe.aspx
在单击按钮时将您的显示为弹出窗口。如果为空window.opener
,您可以检查Iframe.aspx
throw 错误。window.opener
像这样:
<script type="text/javascript">
if(!window.opener) {
throw new Error();
}
</script>
如果您Iframe.aspx
嵌入在弹出窗口的 iframe 中。您可以使用进一步检查它window.parent.opener
<script type="text/javascript">
if(!window.parent.opener) {
throw new Error();
}
</script>
请注意,此技术确实存在上述链接中指出的限制。