【问题标题】:Can I apply X-Frame-Options header and people still use <iframe> with my website我可以应用 X-Frame-Options 标头并且人们仍然在我的网站上使用 <iframe>
【发布时间】:2018-12-04 08:47:09
【问题描述】:

我想将此标头添加到我的 nginx 服务器中

add_header X-Frame-Options "SAMEORIGIN";

但我希望人们仍然能够使用指向我网站的&lt;iframe&gt;

就像 youtube 为视频提供嵌入式 URL 一样,我对我网站的特定部分也这样做。

"SAMEORIGIN" 是正确的值吗?还是X-Frame-Options 标头与我想要实现的功能冲突?

【问题讨论】:

    标签: html iframe http-headers x-frame-options


    【解决方案1】:

    X-Frame-Options 有三个可能的指令:

    • X-Frame-Options: deny 页面无法在框架中显示
    • X-Frame-Options: sameorigin 页面只能显示在与页面本身同源(同域)的框架中
    • X-Frame-Options: allow-from https://example.com/页面只能显示在指定原点的框架中

    如果您将其设置为sameorigin,当主机(人员)尝试在&lt;iframe&gt; 中加载您的网站时,浏览器会提示您错误。试试这个并打开你的开发控制台:

    &lt;iframe src="https://www.google.com"/&gt;

    因此,如果您希望您的网站被其他人(域)加载到&lt;iframe&gt;,那么简而言之,sameorigin 当然是错误的选择。如果您想获得所需的内容,请尝试阅读此内容:

    Overcoming "Display forbidden by X-Frame-Options"

    【讨论】:

    • X-Frame-Options:allow-from 是否有允许所有域的值?像允许来自 *
    • allow-from 不再被 Chrome 和 Firefox 所取代,因此您需要使用另一个标头“Content-Security-Policy”
    • 如果你想在 iframe 中加载你网站的某些页面,你可以使用代理页面来加载你想要的内容,或者你可以覆盖某些页面的标题,阅读上面的链接,有不同的解决方案
    • 我设置了 Content-Security-Policy。然后我想我会没有这个标题。
    猜你喜欢
    • 2021-10-17
    • 2019-06-18
    • 2014-12-08
    • 2012-08-24
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多