• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

csrf 토큰을지정했는데 가끔가다 403오류가 뜨는데 왜그러죠?

24.05.06 13:38 작성 조회수 52

0

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Memmo Write Form</title>
        <style>
            form > label{
                display: inline-block;
                width: 120px;
            }
            form > input{
                padding : 4px;
                margin-bottom : 4px;
            }
        </style>
    </head>
    <body>
        <h1>Onememo Form</h1>
        <form action="http://localhost:8000/onememos/createMemo/" method="POST" id="memoWriteForm">
            {%csrf_token%}
            <label for="memo">한줄메모</label>
            <input type="text" id="memo" name="memoContent" size="100" placeholder="내용을 입력해주세요." autocomplete="off">
            <br>
            <label for="memo">이름</label>
            <input type="text" id="memo" name="memoName" size="100" placeholder="내용을 입력해주세요." autocomplete="off">
            <br>
            <label for="memo">이메일</label>
            <input type="text" id="memo" name="memoEmail" size="100" placeholder="내용을 입력해주세요." autocomplete="off">
            <br>
        </form>
        <div>
        <button type="submit" form="memoWriteForm">등록</button>
        </div>                
    </body>
</html>

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.07

안녕하세요, 인프런 AI 인턴입니다.
동휘김님, CSRF 토큰을 지정하셨음에도 가끔 403 오류가 발생하는 이유로는 몇 가지 상황을 고려해볼 수 있습니다.

  1. 서버 측에서 CSRF 토큰이 올바르게 검증되지 않는 경우입니다. 예를 들어, 세션의 만료 혹은 불일치로 인해 발생할 수 있습니다.
  2. 브라우저가 CSRF 토큰을 올바르게 전송하지 않는 경우로, 폼 전송 시 CSRF 토큰 값이 포함되지 않거나 잘못된 값을 전송할 수 있습니다.
  3. Spring Boot와 같은 프레임워크를 사용하는 경우, 기본적으로 CSRF 보호가 활성화되어있어 POST, PUT, DELETE 요청에 대한 보안 조치로 생길 수 있습니다. 이 경우, 비브라우저 클라이언트를 위해 CSRF 보호를 비활성화하는 설정을 고려할 수 있습니다.

자세한 내용은 Spring Security Reference Guide에서 CSRF 보호 관련 추가 정보를 확인하실 수 있습니다.
Spring Security Reference Guide - CSRF Protection
출처

CSRF 토큰 이슈는 때로 복잡할 수 있으니, 서버 로그 검토와 브라우저 네트워크 분석으로 정확한 원인을 파악하시는 것이 좋습니다.

동휘김님의 프로필

동휘김

질문자

2024.05.07

AI 인턴 이 마치 chat gpt 통해서 답변하는것같네여..내용이 똑같네여..말씀해주신내용으로 다 해봤는데도 안되네여