最近我的网站内容被很多其他网站窃取。
他们所做的只是创建我网站的iframe并在其网域上显示特定数据以获得高流量。当我发现时,我尝试使用htaccess
和meta
标记阻止它。
我们滥用的网页是一个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">
我暂时这样做是为了阻止我的内容在其他网站上使用。 我希望重定向到我的自定义页面,或者当用户在框架内单击时重定向。欢迎任何更好的想法。
答案 0 :(得分:2)
iframe的内容协商完全由客户端(浏览器)处理。客户决定是否显示iframe的内容以及是否遵守 SAMEORIGIN 选项(某些浏览器可能不会)。
就htaccess而言,服务器不知道页面请求之间的区别,因为有人直接访问了页面,而且请求嵌入在iframe中的页面,所以你无能为力在htaccess文件中,以防止通过iframe加载页面。
你可以尝试许多不同的东西,其中大部分都可以被规避:
为您不介意在iframe中的网页创建单独的空间,在其他任何地方,使用 SAMEORIGIN 标题
对于您不希望嵌入iframe的所有网页,请检查引用并在嵌入iframe时重定向到自定义页面:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://your-website.com
RewriteRule ^ /custom_page.html [L,R=302]
请勿使用iframe并在任何地方设置 SAMEORIGIN 标题。
答案 1 :(得分:1)
一种方法是通过JavaScript将用户重定向到您的网站,从中断:
if (top.location != location) {
top.location.href = document.location.href;
}