html 如何修复拒绝在帧中显示,因为它将“X-Frame-Options”设置为“sameorigin

nuypyhwy  于 2023-06-27  发布在  其他
关注(0)|答案(6)|浏览(317)

我在angular中使用i帧时出现错误。它拒绝在框架中显示,因为它将“X-Frame-Options”设置为“sameorigin”
拒绝显示'https://docs.google.com/gview?url= https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf ',因为它将'X-Frame-Options'设置为' sameorigin '。

8zzbczxx

8zzbczxx1#

你不能否决:正如你在对GET请求的响应中所看到的,有一个响应头x-frame-options: SAMEORIGIN
这意味着源服务器没有授权您在iframe中显示此内容。
您无法规避此操作,这是一种安全保护:否则它将使会话劫持太容易。
唯一的方法是拥有相同的资源,并提供一个允许您查看的URL(例如直接使用PDF URL,这里是https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf,或者将embedded=true添加到URL中可能会起作用,这是Google docs特定的)。

cdmah0mi

cdmah0mi2#

请使用santizer与安全管道,然后包括如下链接

<iframe class="doc" src="https://docs.google.com/gview?url=https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf&embedded=true"></iframe>

确保在iframe中添加源代码时使用embedded=true。肯定会成功的

wko9yo5t

wko9yo5t3#

从src url中去掉https://docs.google.com/gview?url=部分怎么样?

<iframe 
  src="https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf"
  frameborder="0">
</iframe>

它的工作。
这里有一个Working Sample StackBlitz给你的参考。

6ojccjat

6ojccjat4#

将以下内容添加到web.config customHeaders 部分:

<customHeaders>
  <remove name="X-Powered-By" />
  <remove name="X-Content-Type-Options" />
  <add name="X-Frame-Options" value="ALLOW-FROM http://sharepointsitecollectionurl " />
  <add name="Content-Security-Policy" value="frame-ancestors sharepointwebapplicationurl" />
  <add name="X-Content-Type-Options" value="nosniff" />
  <add name="X-XSS-Protection" value="1; mode=block" />
  <add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
e7arh2l6

e7arh2l65#

因为你应该把内容嵌入到你的页面/网站上,而不仅仅是链接到它。
这就是区别:
https://www.youtube.com/watch?v=${videoId}-这种链接是在浏览器上观看youtube视频。这和其他链接一样。
https://www.youtube.com/embed/${videoId}-这种链接是把youtube视频放在你的页面/网站上。这称为嵌入内容。
嵌入内容的目的是让读者留在你的网站上,为读者提供更好的体验,并在理想情况下获得更多的忠实读者。而不是把你的网站访问者送到别人的网站,你让他们在你的内容,让他们参与,使他们留在你更长的时间,更经常返回。

pgpifvop

pgpifvop6#

你可以使用target="_blank”属性。

相关问题