拒绝用户使用asp.net访问Iframe网页

时间:2013-11-09 08:44:16

标签: c# javascript asp.net iframe

在我的默认网页中,当用户点击某些内容(使用JS)时,我会弹出一些iframe。

如何阻止用户直接转到该链接:WWW.mydomain.com/Iframe.aspx 并查看完整页面,但只要他们从默认页面单击Iframe按钮,他们仍然可以访问它们。

默认 - default.aspx iframe - Iframe.aspx。

感谢。

1 个答案:

答案 0 :(得分:0)

Web应用程序使用一种名为Frame killer的技术来阻止其网页在框架内显示。在你的情况下,它有点相反,但我们可以借用类似的想法。

如果在单击按钮时将Iframe.aspx显示为弹出窗口。如果window.opener为空,您可以检查Iframe.aspx投掷错误中的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>

请注意,此技术确实存在上述链接中指出的限制。