CSRF 헤더 전환
datasette PR #2689: Replace token-based CSRF with Sec-Fetch-Site header protection
·2026.04.15 08:58
핵심 내용
Datasette가 CSRF 토큰 대신 Sec-Fetch-Site 헤더 기반 보호로 전환했다.
자세히 보기
Datasette가 기존 CSRF 토큰 방식에서 Sec-Fetch-Site 헤더 기반 보호로 바뀌었다. Simon Willison은 이 변경을 Filippo Valsorda의 2025년 8월 연구와 Go 1.25의 구현에서 영감을 받은 것이라고 설명했다.
기존 방식은 템플릿마다 <input type="hidden" name="csrftoken" value="{{ csrftoken() }}">를 넣어야 하고, 브라우저 밖에서 호출되는 API에는 예외 처리가 필요해 번거로웠다. 새 middleware는 이런 토큰 중심 구조를 없애고, 브라우저 요청 여부를 헤더로 판별해 CSRF를 막는다.
PR 설명에 따르면 이번 변경은 Claude Code가 많은 부분을 작업했고, 총 10개 커밋에 걸쳐 진행됐다. Simon이 직접 안내했고 GPT-5.4가 크로스 리뷰를 맡았다.
바뀐 내용은 다음과 같다.
- 새 CSRF protection middleware 추가
- 모든
csrftokenhidden input 제거 def skip_csrf(datasette, scope):plugin hook 삭제- CSRF 문서와 업그레이드 가이드 갱신
- 관련 테스트와 훅 문서 정리
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.