찾다
Javajava지도 시간SpringSecurity의 CSRF 공격 처리 방법 소개

SpringSecurity의 CSRF 공격 처리 방법 소개

Mar 06, 2019 pm 03:37 PM
csrfjavaspringbootspringsecurity

이 글은 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;
  }
}</csrffilter></csrffilter>

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

<input>

AJAX 요청에 헤더 추가

xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");

jQuery 전역 구성을 위한 Ajax

아아아아

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

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전