当前位置: 首页 > 面试题库 >

如何在angularJS中将X-Frame-Options设置为响应标头?

燕意蕴
2023-03-14
问题内容

我从API的响应中收到X-Frame-
Options标头,但据我所知,为了防止clickjacking攻击,我需要在UI代码中添加它。UI代码(用angularjs编写)部署在Tomcat(版本7.0.72)服务器中。我尝试在应用程序的web.xml中添加以下过滤器。

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
          <param-name>antiClickJackingEnabled</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>antiClickJackingOption</param-name>
          <param-value>DENY</param-value>
        </init-param>
    </filter>

但是,我看不到标题被添加。有人可以帮我找出解决方案吗?


问题答案:

我找到了解决方案。X-Frame-
Options响应标头需要通过Tomcat服务器上的web.xml添加。我的web.xml中缺少过滤器映射,因此没有添加标头。对于其他可能会遇到此问题的人,我在这里发布来自web.xml的代码行:

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
          <param-name>antiClickJackingEnabled</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>antiClickJackingOption</param-name>
          <param-value>DENY</param-value>
        </init-param>
    </filter>
  <filter-mapping> 
    <filter-name>httpHeaderSecurity</filter-name> 
    <url-pattern>/*</url-pattern>
</filter-mapping>
  <welcome-file-list>
      <welcome-file>index.html</welcome-file>
  </welcome-file-list>

这样,将添加以下标头:•X-Frame-Options•X-Content-Type-Options•X-XSS-Protection

如果不为每个标头指定值,则将设置每个标头的默认值。您可以在Tomcat服务器文档中找到默认值。



 类似资料:
  • 问题内容: 我在jsp上安装了CKeditor,并且每当我上传一些内容时,就会弹出以下错误: 我尝试过删除Spring Security,并且一切正常。如何在Spring Security xml文件中禁用此功能?标签之间应该写些什么 问题答案: 默认情况下设置为拒绝,以防止点击劫持攻击。要覆盖它,您可以将以下内容添加到您的spring安全配置中 以下是政策的可用选项 DENY- 是默认值。使用此

  • 所述X-Frame-OptionsHTTP 响应报头可以被用来指示一个浏览器是否应该被允许在一个以呈现页面<frame>,<iframe>或<object>。通过确保其内容未嵌入其他网站,网站可以使用此功能来避免 点击劫持 攻击。 只有当访问文档的用户使用浏览器支持时才提供附加的安全性X-Frame-Options。 Header type Response header Forbidden he

  • 我正在开发一个网站,应该是响应,以便人们可以从他们的手机访问它。该网站有一些安全的部分,可以登录使用谷歌,脸书等(OAuth)。 服务器后端使用ASP.NET Web API 2开发,前端主要使用AngularJS和一些剃刀。 现在,就我而言,我不在HTML文件中使用任何iframe。 我搜索了一下,但没有答案让我解决这个问题。

  • 问题内容: 我正在开发一个响应迅速的网站,以便人们可以通过手机访问该网站。该网站有一些安全部件,可以使用Google,Facebook等…(OAuth)登录。 服务器后端是使用ASP.Net Web API 2开发的,前端主要是带有Razor的AngularJS。 对于身份验证部分,在包括Android在内的所有浏览器中,一切都可以正常工作,但Google身份验证在iPhone上无法正常工作,这给

  • 我在使用Microsoft登录的项目中使用单曲,现在我试图在这个网站上使用yammer嵌入,但它给出了以下错误。 拒绝显示https://login.microsoftonline.com/common/oauth2/authorize?client_id=xxxx 有人能帮我吗。

  • 问题内容: 这似乎困扰着很多人(包括我)。 在AngularJS中使用指令填充标签的选项时,我无法弄清楚如何为选项设置值。对此的文档确实不清楚- 至少对于像我这样的简单人而言。 我可以像这样轻松设置选项的文本: 例如,何时: 设置选项值应该是(可能是)最简单的事情,但是到目前为止,我还是不明白。 问题答案: 参见 ngOptions ngOptions(可选) – { } –以下形式之一: 对于数