1

最近我的网站内容被许多其他网站窃取。

他们所做的只是为我的网站创建一个 iframe,并在他们的域上显示特定数据以获得高流量。当我发现时,我试图用htaccessmeta标签来阻止它。

他们滥用的我的网页是一个 html 页面,其中包含来自子目录的 iframe。他们不使用该 iframe,而是针对 html 页面的其他内容,但我的阻止技术在 Firefox 中不起作用,它也阻止了我的 iframe。它在 Google Chrome 和 Internet Explorer 中运行良好。

我的.htaccess设置 - 适用于 Firefox,但不适用于 Google chrome 和 Internet Explorer,而且它不显示来自同一域的我的 iframe:

Header set X-Frame-Options DENY
Header always append X-Frame-Options SAMEORIGIN

我的元设置 - 这适用于除 Firefox 之外的所有浏览器:

<meta http-equiv="X-Frame-Options" content="deny">

我暂时这样做是为了阻止我的内容在其他网站上使用。我想要重定向到我的自定义页面之类的东西,或者当用户在框架内单击时它会重定向。欢迎任何更好的想法。

4

2 回答 2

2

iframe 的内容协商完全由客户端(浏览器)处理。客户端决定是否显示 iframe 的内容以及是否支持SAMEORIGIN选项(某些浏览器可能不会)。

就 htaccess 而言,服务器不知道对页面的请求(因为有人直接访问该页面)和对嵌入在 iframe 中的页面的请求之间的区别,因此您在 htaccess 中无能为力文件以防止页面通过 iframe 加载。

您可以尝试许多不同的方法,其中大部分都可以规避:

  1. 为您不介意在 iframe 中的页面创建一个单独的空间,在其他任何地方,使用SAMEORIGIN标头

  2. 对于您不想嵌入 iframe 的所有页面,请检查引用者并在嵌入 iframe 时重定向到自定义页面:

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://your-website.com
    RewriteRule ^ /custom_page.html [L,R=302]
    
  3. 不要使用 iframe 并在任何地方设置SAMEORIGIN标头。

于 2012-10-14T07:42:24.143 回答
1

一种方法是通过 JavaScript 将用户重定向到您的网站来打破框架:

if (top.location != location) {
    top.location.href = document.location.href;
}
于 2012-10-14T07:40:59.410 回答