anti-CSRF 메커니즘에 대한 거의 모든 문서는 CSRF 토큰이 서버 측에서 생성되어야한다고 말합니다. 그러나 그것이 필요한지 궁금합니다.서버 측에서 anti-XSRF/CSRF 토큰을 생성해야합니까?
나는이 단계에서 안티 - CSRF를 구현하려는 :
더 서버 측 생성 CSRF 토큰이 없습니다;
브라우저 측면에서 모든 AJAX 또는 양식 제출시 자바 스크립트는 임의의 문자열을 토큰으로 생성합니다. 이 토큰은 실제 AJAX 나 양식 제출이 발생하기 전에 쿠키 csrf에 기록됩니다. 토큰은 _csrf으로 매개 변수에 추가됩니다. 서버 측에서
- , 각 요청은 CSRF 쿠키 및 _csrf 제출 한 인수 를 가질 예정이다. 이 두 값이 비교됩니다. 그것들이 다르다면 그것은 CSRF 공격이라는 것을 의미합니다.
서버 측에서 CSRF 토큰을 발행 할 필요가 없습니다. 토큰은 브라우저 측에서 완전히 생성됩니다. 물론 이것은 반 CSRF를위한 것입니다. 사용자 ID의 유효성을 검사하려면 서버 측에 인증 프로세스가 있어야합니다.
CSRF에 대한 올바른 해결책이 들리지만이 접근법에 대한 문서가없는 이유는 확실하지 않습니다.
이 CSRF 방지 메커니즘에 결함이 있습니까?