Необходимо ли защищать запросы JAX-RS от CSRF?Нужно ли защищать запросы JAX-RS от CSRF?
К definition REST является апатридом и поэтому не существует идентификатора сеанса (сеансового файла cookie), поскольку сеанса вообще нет (см. Также https://stackoverflow.com/a/15746639/5277820).
My Spring Security Configuration 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);
}
}
}
}
Но я нашел, например, следующий блог: Stateless Spring Security Part 1: Stateless CSRF protection. К сожалению, блог не объясняет, зачем нужна защита CSRF.
Есть ли еще одна атака CSRF без сессии cookie?
вам нужно только защитить их от CSRF, если ваш сайт используется веб-браузерами. Если он используется только с помощью curl, то вам не нужно беспокоиться о CSRF –