X-Frame-Options 拒绝加载:不允许跨域框架
Posted
技术标签:
【中文标题】X-Frame-Options 拒绝加载:不允许跨域框架【英文标题】:Load denied by X-Frame-Options: does not permit cross-origin framing 【发布时间】:2014-11-14 00:51:18 【问题描述】:我正在使用 laravel 4 进行我的一项开发,我正在尝试使用跨源调用加载 iframe。但它会抛出一个错误,如“”。
我正在尝试设置如下标题:
header('X-Frame-Options: ALLOW-FROM SAMEORIGIN');
header('X-Frame-Options: ALLOW-FROM GOFORIT');
但我仍然遇到上述问题。如果我遗漏了什么,请提出建议。
【问题讨论】:
developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options 【参考方案1】:当您使用ALLOW-FROM
时,您必须指定一个 URL,而不是替代值。
使用SAMEORIGIN
明确阻止跨源调用。
当使用那个或GOFORIT
时,你必须将它指定为唯一的值。
所以你想要:
header("X-Frame-Options: GOFORIT");
请注意,GOFORIT
是 默认 行为,因此您可能必须删除一些其他拒绝访问的代码。
还要注意X-Frame-Options
标头必须授予来自框架中显示的页面 的权限,而不是包含<iframe>
标记本身的页面。您不能允许自己将其他网站放入框架中。
【讨论】:
以上是关于X-Frame-Options 拒绝加载:不允许跨域框架的主要内容,如果未能解决你的问题,请参考以下文章
拒绝在框架中显示 xyz,因为它设置了 X-Frame-Options - 我可以设置允许的域吗?
在 Nginx 代理后面时,Keycloak Docker Instace 中的 X-Frame-Options 拒绝加载
关于HTTP头部信息X-Frame-Options的问题-防止网站被人嵌套