众所周知,将您的站点加载到另一个站点的框架中,可能会使您的站点暴露于各种弊端,如果您有任何敏感数据需要保护,通常不是一个好主意。
因此,出现了 FrameBusting 脚本,通常是一个在站点加载时运行的简单脚本;如果它在一个框架中,它会在没有框架的情况下重新加载自己。
通常沿着这些思路很简单:
if (top != self)
top.location.replace(location);
现在,如果您在一个公共网站上,例如论坛或社交网站,通常会发布链接并将它们显示在一个框架中,您可能希望对您的网站进行框架破坏(如果您在那里有任何敏感信息,有用户登录等),超出社交网络的框架。但是你也不想破坏用户的体验,让他们认为他们链接的网站是可疑的......所以你可能会想给他们一个弹出窗口来告诉他们发生了什么 - 但那可能只会让他们更害怕......
那么——考虑到整个背景、风险和后果,并避免“安全剧院”,您认为哪个是总体上最好的解决方案?
- 将网站留在框架内
- Framebust 默默地
- 提供一个弹出窗口,只是为了通知用户发生了什么
- 向用户提供一个带有取消选项的弹出窗口
PS 该网站是THIS网站,我在公开测试版开始后将该网站发布到 LinkedIn 上的众多安全相关组时发现了这一点(你为什么不呢?;)),收到了一些负面的回应......原来,SE适用于选项 3 -没有取消选项的弹出窗口。交叉发布为元的错误....