Skip to content

Conversation

@seungwonme
Copy link
Member

@seungwonme seungwonme commented Dec 29, 2024

주요 구현 사항

리뷰어 참고 사항

우리 웹 사이트에서는 꼭 지켜야할 5가지의 규칙이 있습니다.

  1. 절대 이름에 스크립트 태그를 넣어 수정하지마세요.
  2. 절대 프로필 사진 url에 api 주소를 넣어 수정하지마세요.
  3. 절대 리모트 게임 플레이 중 새로고침을 한 번만 하지 마세요.
  4. 절대 기존 jwt를 가지고 있다가 회원 탈퇴를 한 후 jwt 붙여넣고 새로고침하여 로그인 한 후 멀티 플레이를 하지마세요.
  5. 절대 로컬 게임 플레이 중 새로고침을 하고 곧바로 로컬 게임을 누르지마세요.

- Implement CSRF protection in login view
- Enhance JWT verification response with error message
- Update middleware settings for session authentication
- Modify API base URL and add CSRF token handling in request functions
- Rename Docker volume in cleanup script
@seungwonme seungwonme changed the title feat: add CSRF protection and improve request handling 으스스한 트센 괴담 들어볼래..? (feat: add CSRF protection and improve request handling) Dec 29, 2024
Copy link
Member

@minseok128 minseok128 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리모트 게임, 낯선 공간과의 짜릿한 연결. 하지만 그 연결고리에 희미한 금이 가는 순간, 멈추십시오. 단 한 번의 새로고침, 그것은 단순한 오류가 아닙니다. 차원의 틈을 벌려 끔찍한 존재들을 불러들이는 의식. 두 번 이상의 새로고침은 그나마 괜찮지만, 단 한 번의 실수는 당신의 영혼을 그 틈 사이로 끌고가 영원히 가둬버릴 것입니다.

@jaehejun jaehejun merged commit 95c9a15 into main Dec 30, 2024
2 checks passed
@fing9
Copy link

fing9 commented Dec 30, 2024

이 다섯 가지 규칙은 단순한 규범처럼 보이지만, 사실 우리 웹 사이트를 사용하는 사람들 사이에서 전해 내려오는 괴담의 시작이다. 이 규칙을 어기면 어떤 일이 벌어질지는 아무도 모른다. 하지만 규칙을 무시한 사람들이 겪은 몇 가지 이야기는 우리에게 경고처럼 남아있다.

  1. 이름에 스크립트 태그를 넣었던 사용자 이야기
    어느 날, 호기심이 많던 한 사용자가 자신의 이름에 <script> 태그를 넣어봤다. 처음엔 아무 일도 일어나지 않는 것 같았지만, 몇 시간 뒤 그의 계정은 스스로 이상한 메시지를 작성하기 시작했다. "다시 돌아오지 마..."라는 문구가 게시판에 끝없이 올라왔고, 그의 브라우저는 갑자기 종료되었다. 그 후로 그는 이 사이트에 다시 접속할 수 없었다고 한다.

  2. 프로필 사진 URL에 API 주소를 넣은 자의 최후
    한 사용자는 장난 삼아 자신의 프로필 사진 URL에 외부 API 주소를 입력했다. 처음엔 정상적으로 보였지만, 얼마 지나지 않아 다른 사용자들의 프로필 사진이 모두 이상한 무늬로 바뀌기 시작했다. 결국, 그 사용자도 자신의 화면에 끊임없이 깜박이는 눈동자 이미지만 보였고, 그의 계정은 영구적으로 차단되었다.

  3. 리모트 게임 플레이 중 새로고침한 플레이어의 실종
    새로운 플레이어는 리모트 게임 중 갑작스럽게 새로고침을 시도했다. 게임 화면이 로딩되었지만, 그 순간부터 그의 캐릭터는 게임 속에서 사라졌다. 다른 플레이어들은 그의 캐릭터가 어딘가 멀리서 걸어가는 것을 목격했지만, 아무도 그를 따라잡을 수 없었다. 몇 주 후, 해당 플레이어는 게임 밖에서도 연락이 닿지 않게 되었다고 한다.

  4. 탈퇴 후 JWT를 붙여넣은 사용자에게 일어난 일
    한 사용자가 규칙을 어기고, 탈퇴 후에도 JWT를 사용해 로그인하려 했다. 멀티 플레이에 접속한 순간, 이상한 일이 벌어졌다. 그는 자신의 캐릭터가 아닌, 이전에 삭제된 캐릭터로 게임에 접속되었다. 다른 플레이어들은 "왜 다시 왔어?"라는 메시지가 채팅창에 반복적으로 올라오는 것을 봤다. 그 이후로 그 캐릭터는 모든 방에서 자동으로 강퇴되었고, 그의 계정은 영구 삭제되었다.

  5. 로컬 게임 중 새로고침한 플레이어의 저주
    어느 날, 한 사용자가 로컬 게임 중 실수로 새로고침을 하고 곧바로 로컬 게임을 다시 시작했다. 처음엔 게임이 정상적으로 돌아가는 듯했지만, 그의 캐릭터는 점점 이상한 행동을 보였다. 공격 버튼을 누르지 않았는데도 공격이 반복되었고, 갑자기 모든 NPC들이 그를 추격하기 시작했다. 마지막으로 그의 캐릭터가 화면에서 사라지기 직전, "넌 이제 혼자가 아니야"라는 메시지가 뜨더니, 게임은 종료되었다.

이 다섯 가지 규칙은 단순한 버그 방지를 위한 지침이 아니다. 그것은 우리가 알 수 없는, 설명할 수 없는 웹사이트의 어두운 비밀을 보호하기 위한 경고이다. 당신이 이 규칙을 어긴다면, 그 결과를 책임질 수 없을 것이다.

@minseok128
Copy link
Member

@fing9 이제 저 버그들 다 고쳐서 문제 없을 겁니다~

@seungwonme seungwonme deleted the fix/csrf_attack branch January 16, 2025 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants