如何删除X框架选项响应头,允许应用程序iframed
我原来的问题是…我得到的Facebook对话框错误: An error ocurred. Please try again later.
An error ocurred. Please try again later.
解决这个问题唯一的办法是安装铬扩展…
忽略X-Frame标题( https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe )
所以我怀疑这是由于浏览器的内容政策..
testing:铬和safari
操作系统: mac osx 10.10
服务器: localhost / nodejs
我尝试通过安装browser-policy
包,然后安装来解决这个问题…
服务器/ 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框架选项响应头,允许通过Facebook iframed,要么使用浏览器策略或不… …当然,不要强迫用户安装任何扩展名…
任何帮助将不胜感激…谢谢你,
您可以将到达服务器的请求的响应头设置为以下值
“X-Frame-Options”,“允许来自SAMEDOMAIN,www.facebook.com/MyFBSite”
你可以通过filter来设置这个头文件