Meltype
눈 녹듯 반각·전각 장벽을 녹여주는 일본어 입력
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗SK ALEPH 부트캠프 방어전 실습입니다. 누구나 읽을 수 있게 열려 있던 가상 메모 자료실을 단계별로 막았습니다. 메모는 모두 실습용 가상 자료입니다.
현재 5단계: 로그인한 사용자만, 자기 메모만, 서버 한곳을 거쳐서만 읽고 쓸 수 있습니다.
flowchart LR
A["브라우저<br/>Supabase 로그인"] --> B["/api/notes<br/>서버 함수"]
B --> C{"토큰 검사"}
C -- 없음 · 실패 --> D["401"]
C -- 통과 --> E{"내 메모?"}
E -- 아님 --> F["404"]
E -- 맞음 --> G["Supabase notes<br/>직접 접근 권한 없음"]
| 단계 | 한 것 |
|---|---|
| 1 | 시작 틀을 Vercel에 배포하고, 메모가 /data.json으로 공개된 상태 확인 |
| 2 | 메모를 Supabase 테이블로 옮기고 공개 data.json 삭제 |
| 3 | 메모 API가 로그인 토큰을 검사하고, 없으면 401 |
| 4 | 서버가 확인한 사용자 ID로만 읽기 · 수정 · 삭제, 남의 메모는 없는 메모처럼 404 |
| 5 | 테이블 직접 권한을 모두 거두고 메모 요청을 서버 함수 /api/notes 한곳으로 |
| 보너스 | 무차별 로그인 · 웹 주입 경보를 판정해 차단 후보 규칙 만들기 (판정기에는 미연결) |
남은 약점: 옛 공개 커밋 5b9af2f에 1단계 메모가 그대로 남아 있습니다. 원본 API에 직접 보내는 비로그인 요청 시험은 아직 못 했습니다.
| 문서 | 내용 |
|---|---|
| 단계별 기록 | 5단계 현재 상태, API 표, 확인 방법, 2단계 검색 결과와 남은 약점 |
| 공격 탐지 보너스 | xdr-01 무차별 로그인, xdr-02 웹 주입 |
| 시작 틀 안내 | 1단계 배포 방법과 시작 틀의 자동 처리 |
| AGENTS.md | 코딩 도구에 주는 공통 규칙 |
npm ci
npm run build -- --local # 로컬 화면만 확인 (서버 함수 · 로그인 · 배포 증명 아님)
npm run test:r5
로컬 시험과 npm run bundle 점검은 직접 보낸 요청의 기록이며 심판의 판정이 아닙니다.