可以阻止我们的网站在另一个域的框架集或IFrame中运行?

Pet*_*ter 6 javascript dns frame frameset-iframe

我们最近遇到了一个问题,其他网站在我们的网站集中运行我们的电子商务网站,我们的网站(违规者附加了ID)是单个全宽框架中唯一的内容.所以基本上它看起来和感觉就像我们的网站顶部的URL.我们可以切断他们的联盟会员身份,这会使他们没有意义,但这并不妨碍未来的犯罪者在我们发现之前做同样的事情.

有没有通用的方法(通过每个页面上出现的JavaScript?)来防止这种情况发生?请注意,向所有链接添加目标是不可行的,但是向所有页面添加JS片段是因为页眉和页脚部分是从单个源共享的.

另一种可能性是Apache级别(如果有任何我们可以做的服务器端),因为我们通过mod-rewrite传递所有请求.

请注意,如果父页面来自我们的域,则必须在允许页面加载IFrame内部,因为我们有效地使用了IFrame

Gre*_*ill 5

我听说过这个问题的解决方案被称为"框架弹出脚本".一个快速的谷歌出现了这个线程.看起来这是最简单的之一:

if (window != top) top.location.href = location.href; 
Run Code Online (Sandbox Code Playgroud)


Ste*_* Lu 5

我相信实现这一点的正确现代方法是使用X-Frame-Options 响应标头

来自 MDN:

X-Frame-Options HTTP 响应标头可用于指示是否允许浏览器在框架或 iframe 中呈现页面。网站可以使用它来避免点击劫持攻击,确保其内容不会嵌入到其他网站中。

看看:如何防止 IFRAME 重定向顶级窗口