X-Frame Headers - 我可以输出默认页面吗?

X-Frame Headers - Can I output a default page?

我对 X-FRAME-Options HTTP headers 有一个小问题。

我有一个 X-FRAME header 声明:

Header always append X-Frame-Options SAMEORIGIN

我找到了一个链接(在一个框架中)回到我的网站的网站,它只显示一个空白页面,这是预期的。但理想情况下,我希望能够提供一个占位符页面,向最终用户解释我的网站无法在其他人的框架中查看。

就像可以为盗链图片的人提供 denial/placeholder 图片。

我找到了 here 一些关于这类事情的指南,但这使用 Java,我的服务器是 LAMP。

我可以为 non-SameOrigin 个通过框架调用我的网站的页面设置输出默认网页吗? the RFC.

中没有关于此的内容

不,你不能这样做。

我能想到的唯一方法是删除该特定页面的 header,然后如果确认它不是首页,则可能使用一些 JavaScript 进行重定向。不过这也有其自身的风险(例如对于禁用 javascript 的用户)。

然而,这不是网站试图构建您的网站的问题吗?如果他们从外部站点(例如您的站点)构建页面,那么如果发生这种情况,他们总是 运行 冒着风险,无论如何这样做有点厚颜无耻(并且存在安全风险)。我看不出你如何阻止这种情况会在你的网站上产生严重的影响(或者至少比 "sorry we don't allow framing" 消息更糟糕)。