如何删除 X-Frame-Options 响应标头,允许应用程序被 iframe

how to drop X-Frame-Options response headers,, allowing app to be iframed

本文关键字:应用程序 iframe 响应 何删除 删除 X-Frame-Options      更新时间:2023-09-26

我最初的问题是...我收到Facebook对话框错误:An error ocurred. Please try again later.

解决此问题的唯一方法是安装 Chrome 扩展程序...

忽略 X 帧标头 (https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe)

所以我怀疑这是由于浏览器内容政策。

测试于:Chrome 和 Safari

操作系统: Mac OSX 10.10

服务器:本地主机/节点

我尝试通过安装browser-policy软件包然后设置来解决此问题...

服务器/策略.js

Meteor.startup(function () {
  BrowserPolicy.framing.allowAll();
  BrowserPolicy.content.allowInlineScripts();
  BrowserPolicy.content.allowEval();
  BrowserPolicy.content.allowInlineStyles();
  BrowserPolicy.content.allowDataUrlForAll();
  BrowserPolicy.content.allowSameOriginForAll();
});
BrowserPolicy.framing.allowAll();
BrowserPolicy.content.allowInlineScripts();
BrowserPolicy.content.allowEval();
BrowserPolicy.content.allowInlineStyles();
BrowserPolicy.content.allowDataUrlForAll();
BrowserPolicy.content.allowSameOriginForAll();

然而,我只是提出了另一个问题:由于违反内容安全策略,所有外部资源(字体,JavaScript Facebook SDK等)都无法加载。

总结

我只需要删除X-Frame-Options响应标头,允许被Facebookiframe化,无论是否使用浏览器策略......当然,无需强迫用户安装任何扩展程序...

任何帮助将不胜感激...谢谢

您可以将进入服务器的请求的响应标头设置为以下值

"X-Frame-Options"、"ALLOW-FROM SAMEDOMAIN, www.facebook.com/MyFBSite"

您可以通过过滤器设置此标头来全局执行此操作