È necessario proteggere le richieste JAX-RS contro CSRF?È necessario proteggere le richieste JAX-RS contro CSRF?
Entro definition REST è senza stato e quindi non esiste alcun ID di sessione (cookie di sessione), perché non esiste alcuna sessione (vedere anche https://stackoverflow.com/a/15746639/5277820).
La mia Primavera di configurazione della protezione Java:
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Configuration
@Order(1)
public static class JaxRsWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(final HttpSecurity http) throws Exception {
http
.antMatcher("/services/**")
.csrf().disable()
.authorizeRequests()
.antMatchers(HttpMethod.OPTIONS, "/services/**").permitAll()
.anyRequest().hasAuthority("ROLE_user")
.and()
.httpBasic()
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
}
}
Ma ho trovato ad esempio a seguito blog: Stateless Spring Security Part 1: Stateless CSRF protection. Sfortunatamente il blog non spiega, perché uno ha bisogno di protezione CSRF.
Esiste un altro attacco CSRF senza cookie di sessione?
è sufficiente proteggerli da CSRF se il tuo sito è utilizzato dai browser web. Se è usato solo da dire arricciatura, allora non devi preoccuparti di CSRF –