【问题标题】:Show message when framed .htaccess框架 .htaccess 时显示消息
【发布时间】:2017-05-02 08:57:10
【问题描述】:

我正在尝试在另一个网站尝试 iframe 时显示错误消息。我正在使用 .htaccess:

Header set X-Frame-Options DENY

但是,这只会创建一个没有 iframe 的空白页面。是否可以显示错误消息,而不仅仅是空白屏幕?

更新

不是在寻找任何 JavaScript 解决方案

【问题讨论】:

  • 如果您不是在寻找 javascript 解决方案,您可能应该删除 javascript 标记。
  • @SeanWessell- 好点,我忘了我有那个!
  • 您应该查看 SO 使用的 framebuster。尝试从 SO 框架页面,看看会发生什么

标签: html apache .htaccess


【解决方案1】:

HTML

<!DOCTYPE html>

<html lang=en>
    <head>
        <title>Blocking iFrame with JS</title>
    </head>
    <body>
        <p>page content</p>

        <script src='iframe/blocker.js'></script>
    </body>
</html>

JS

if (window.top !== window.self) window.top.location.replace(window.self.location.href);

注意:这个JS代码重定向到父页面(iFrame所在的位置) - 当然你也可以使用covener的解决方案,他对你的问题的解决方案是很有趣:)

更多关于如果你的页面在源页面上被“iframed”的原因是不好的信息

要求:启用 JavaScript

缺点:我不建议这样做,因为攻击者拥有与您相同的所有工具,并且他们可以使用沙盒来阻止您运行 JavaScript 或重定向窗口

来源:https://www.tinfoilsecurity.com/blog/protect-your-website-from-embedded-content-iframe-security

【讨论】:

    【解决方案2】:

    您可以使用 mod_rewrite 或 &lt;if&gt; 检查引荐来源网址(在 iframe 的情况下为封闭页面)并将您网站的整个部分重定向到静态文件。

    以下是根据可接受的引用域列表检查的许多可能的入门方法之一:

    重写引擎开启 RewriteCond %{REQUEST_URI} !iframe_err.html RewriteCond %{HTTP_REFERER} !^($|http[s]://(www.)?mydomain.com) RewriteRule .* /iframe_err.html

    【讨论】:

      【解决方案3】:

      iframe 由浏览器处理。

      客户端决定是否显示 iframe 的内容以及是否遵循 SAMEORIGIN 选项。

      即使您使用 .htaccess,服务器也不知道针对整个页面的页面请求之间的区别,例如有人直接访问页面或从 iframe 访问页面。

      您可以做的是检查 HTTP_REFERER。检查此示例,我尚未对其进行测试,但想法是阻止页面从您自己的网站以外的任何地方访问。

      RewriteEngine On
      
      RewriteCond %{QUERY_STRING} !^id=[^&]+ [NC]
      RewriteCond %{HTTP_REFERER} !^http://your-website.com
      # then redirect to a different page
      RewriteRule !^start start [L,NC,R=302]
      

      但正如我之前提到的 HTTP_REFERER 它不是 100% 可靠的解决方案,并且可以被欺骗。但是,互联网上的任何东西都不是 100% 可靠的。

      【讨论】:

        【解决方案4】:

        您可以在消息中显示自定义错误页面。

        ErrorDocument 403 /access.html 
        

        更多详情:1. http://www.hostingmanual.net/fun-with-htaccess-tutorial-examples/

        1. http://www.hostingmanual.net/custom-error-messages-htaccess/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-28
          • 1970-01-01
          • 2021-10-26
          • 2019-01-31
          • 2018-04-21
          • 1970-01-01
          相关资源
          最近更新 更多