最近我的网站内容被许多其他网站窃取。
他们所做的只是为我的网站创建一个 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
我的 Meta 设置 - 这适用于除 Firefox 之外的所有浏览器:
<meta http-equiv="X-Frame-Options" content="deny">
我临时这样做是为了阻止我的内容在其他网站上使用。 我想要重定向到我的自定义页面,或者当用户在框架内单击时重定向。欢迎任何更好的想法。
最佳答案
iframe 的内容协商完全由客户端(浏览器)处理。客户端决定是否显示 iframe 的内容以及是否遵守 SAMEORIGIN 选项(某些浏览器可能不会)。
就 htaccess 而言,服务器不知道页面请求(因为有人直接访问该页面)和请求页面嵌入到 iframe 之间的区别,因此您无能为力在 htaccess 文件中以防止页面通过 iframe 加载。
您可以尝试多种不同的方法,其中大部分是可以规避的:
为您不介意放在 iframe 中的页面创建一个单独的空间,在其他任何地方,使用 SAMEORIGIN header
对于您不想嵌入 iframe 的所有页面,检查 referer 并在嵌入 iframe 时重定向到自定义页面:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://your-website.com RewriteRule ^ /custom_page.html [L,R=302]
不要使用 iframe 并在所有位置设置 SAMEORIGIN header 。
关于javascript - 如果其他域使用 iframe 显示我的网站,如何重定向到错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12880165/