内容安全策略春季安全

铁托

假设是spring安全性和spring mvc的一个可操作的世界示例。

当我用wireshark跟踪时,我在http请求上看到以下标志

X-Content-Type-Options: nosniff 
X-XSS-Protection: 1; mode=block 
Cache-Control: no-cache, no-store, max-age=0, must-revalidate 
Pragma: no-cache 
Expires: 0 
Strict-Transport-Security: max-age=31536000 ; includeSubDomains 
X-Frame-Options: DENY 
Set-Cookie: JSESSIONID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; Path=/; Secure; HttpOnly 

我想将此添加到我的标题:

Content-Security-Policy: script-src 'self'

我知道X-Frame-Options几乎可以完成相同的工作,但是它仍然使我睡得更好。现在我想我需要在我的spring安全配置的configure函数下执行此操作,但是我不知道具体如何,即我认为.headers()。something.something(self)

 @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
//          .csrf().disable()
//          .headers().disable()
            .authorizeRequests()
                .antMatchers(   "/register",
                                "/static/**",
                                "/h2/**",
                                "/resources/**",
                            "/resources/static/css/**", 
                                "/resources/static/img/**" , 
                                "/resources/static/js/**", 
                                "/resources/static/pdf/**"                              
                                ).permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }
克里斯托弗·佩洛

只需使用如下的addHeaderWriter方法:

@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends
   WebSecurityConfigurerAdapter {

  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http
      // ...
      .headers()
        .addHeaderWriter(new StaticHeadersWriter("X-Content-Security-Policy","script-src 'self'"))
      // ...
  }
}

请注意,一旦您指定了应包含的所有标头,则仅包含那些标头。

要包括默认标题,您可以执行以下操作:

http
  .headers()
    .contentTypeOptions()
    .xssProtection()
    .cacheControl()
    .httpStrictTransportSecurity()
    .frameOptions()
    .addHeaderWriter(new StaticHeadersWriter("X-Content-Security-Policy","script-src 'self'"))
    // ...

您可以参考spring安全文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

内容安全策略停用

来自分类Dev

内容安全策略警告

来自分类Dev

如何实施内容安全策略?

来自分类Dev

内容安全策略对象SRC Blob

来自分类Dev

自身子域的内容安全策略

来自分类Dev

什么是最大允许的内容安全策略?

来自分类Dev

内容安全策略+框架祖先

来自分类Dev

与Jekyll实施内容安全策略

来自分类Dev

如何“避免”内容安全策略?

来自分类Dev

XSS和内容安全策略

来自分类Dev

内容安全策略+框架祖先

来自分类Dev

内容安全策略:源数据

来自分类Dev

Safari 内容安全策略支持

来自分类Dev

Symfony 3 - 内容安全策略

来自分类Dev

在 PhantomJS 中禁用内容安全策略

来自分类Dev

使Angular使用限制性内容安全策略(CSP)

来自分类Dev

HTML标头内容安全策略未向文件报告

来自分类常见问题

如何在Android WebView中禁用内容安全策略?

来自分类Dev

Internet Explorer的内容安全策略(CSP)解决方法

来自分类Dev

每个页面的内容安全策略(CSP)?

来自分类Dev

Google Adwords CSP(内容安全策略)img-src

来自分类Dev

Antisamy或内容安全策略,或同时用于防止XSS攻击

来自分类Dev

带有Paypal按钮的内容安全策略

来自分类Dev

chrome扩展程序的内容安全策略问题

来自分类Dev

Ionic和Socket.IO的内容安全策略

来自分类Dev

内容安全策略破坏console.log输出

来自分类Dev

Edge忽略内容安全策略中的script-src

来自分类Dev

如何使用元标记放宽内容安全策略

来自分类Dev

Safari中使用Braintree和Paypal的内容安全策略