> Java > java지도 시간 > 본문

SpringSecurity의 CSRF 공격 처리 방법 소개

不言
풀어 주다: 2019-03-06 15:37:51
앞으로
3268명이 탐색했습니다.

이 글은 Django의 FBV와 CBV에 대한 예시 설명을 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

CSRF 취약점의 현재 상태

CSRF(교차 사이트 요청 위조) 교차 사이트 요청 위조(원클릭 공격 또는 세션 라이딩이라고도 함)는 종종 CSRF 또는 XSRF로 약칭되기도 하며 웹사이트를 악의적으로 사용하는 행위입니다. XSS(Cross-Site Scripting)처럼 들리지만 사이트 내의 신뢰할 수 있는 사용자를 악용하는 XSS나 신뢰할 수 있는 사용자의 요청으로 가장하여 신뢰할 수 있는 웹사이트를 악용하는 CSRF와는 매우 다릅니다. XSS 공격과 비교할 때 CSRF 공격은 인기가 덜하고(따라서 이를 방지할 리소스도 매우 부족함) 예방하기 어려운 경향이 있으므로 XSS보다 더 위험한 것으로 간주됩니다.
CSRF는 웹 브라우저에 의존하는 난독화된 대리 공격입니다.

POM 종속성

<!-- 模板引擎 freemarker -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- Security (只使用CSRF部分) -->
<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-web</artifactId>
</dependency>
로그인 후 복사

구성 필터

@SpringBootApplication
public class Application {

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
  
  /**
   * 配置CSRF过滤器
   *
   * @return {@link org.springframework.boot.web.servlet.FilterRegistrationBean}
   */
  @Bean
  public FilterRegistrationBean<CsrfFilter> csrfFilter() {
    FilterRegistrationBean<CsrfFilter> registration = new FilterRegistrationBean<>();
    registration.setFilter(new CsrfFilter(new HttpSessionCsrfTokenRepository()));
    registration.addUrlPatterns("/*");
    registration.setName("csrfFilter");
    return registration;
  }
}
로그인 후 복사

양식 요청에 CSRF의 숨겨진 필드 추가

<input name="${(_csrf.parameterName)!}" value="${(_csrf.token)!}" type="hidden" />
로그인 후 복사

AJAX 요청에 헤더 추가

xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");
로그인 후 복사

jQuery 전역 구성을 위한 Ajax

아아아아

위 내용은 SpringSecurity의 CSRF 공격 처리 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!