An open API service indexing awesome lists of open source software.

https://github.com/hendrixjoseph/spring-content-security-policy

A Content Security Policy builder and bean to help secure Spring applications.
https://github.com/hendrixjoseph/spring-content-security-policy

content-security-policy hacktoberfest spring spring-boot spring-config spring-security

Last synced: 9 months ago
JSON representation

A Content Security Policy builder and bean to help secure Spring applications.

Awesome Lists containing this project

README

          

# Content Security Policy for Spring

## What is a Content Security Policy?

## How to use

```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

import com.joehxblog.spring.csp.ContentSecurityPolicy;

@Configuration
public class Config {
private final ContentSecurityPolicy csp = new ContentSecurityPolicy();

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return csp.filterChain(http);
}
}
```

Or write your own:

```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

import com.joehxblog.spring.csp.ContentSecurityPolicy;

@Configuration
public class Config {
private final ContentSecurityPolicy csp = new ContentSecurityPolicy("default-src 'self'");

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return csp.filterChain(http);
}
}
```

Or use the builder:

```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

import com.joehxblog.spring.csp.ContentSecurityPolicy;
import com.joehxblog.spring.csp.directive.FetchDirective;
import com.joehxblog.spring.csp.value.KeywordValue;

@Configuration
public class Config {
private final ContentSecurityPolicy csp = ContentSecurityPolicy.build()
.add(FetchDirective.DEFAULT_SRC, KeywordValue.SELF)
.build();

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return csp.filterChain(http);
}
}
```

### Maven Dependency Tag

```xml

com.joehxblog
spring-content-security-policy
6.4.1

```