KamoCRM

세션 id는 페이지 스크립트로 다시 오는 중지 - 밀봉 핸들에 대한 접지 워크

Fixkamo-internal
Shipped
2026년 9월 24일 오전 12:09 UTC
Author
Kamo
Commit
3e3c3e7

***는 읽기 (httpOnly:false)를 놓고 몇몇 응답은 익지않는 세션 ID를 덧붙였습니다 사이트 맵 페이지 스크립트는 endpoint가 다시 값을 읽으면 쿠키의 HttpOnly 플래그를 사용할 수 없습니다. - /api/session/extend 및 /api/session/info는 sessionInfo.sessionId, /api/user-info를 반환했습니다. 그것은 TokenId로, /api/debug/cookies로 ***Value. 그들은 이제 8-character 미리보기를 반환합니다 (만 소비자는 시스템 디버그 화면이었습니다. - /valid은 세션 게이트없이 제공되며 모든 쿠키 VALUE를 페이지에 렌더링합니다. — on HttpOnly 쿠키도 볼 수 있는 서버. 그것은 지금 이름과 크기를 보여줍니다. - /api/session/extend Plant *** 와 httpOnly: true. 브라우저는 여전히 EventSources에 전송, <img>/<video> 과 /meet/join 그에 따라; 스크립트는 더 이상 그것을 읽을 수 없습니다. - **************** 이제도 읽을 수있는 *** 쿠키가 실패했습니다. 다음 단계의 Groundwork, /api/validate까지 inert는 핸들을 발급: - app/lib/sessionHandle.ts: 탭의 세션 HANDLE는 AES-256-GCM로 밀봉된 128-hex ID입니다 SESSION HANDLE SECRET와 HttpOnly의 랜덤 per-browser 키에서 파생된 키 Host-KBK 쿠키. 정확히 128 문자, 그래서 모든 기존 클라이언트 체크는 그것을 허용; 쓸모없는 다른 브라우저; 탬퍼링은 태그를 실패. sessionHandle.test.ts는 물개/오픈, 외국을 포함합니다 브라우저, 탬퍼링, 비밀 없음. - proxy.ts는 X-***-Token에서 경로에 대한 실제 ID로 핸들을 엽니다. 그래서 ~180 헤더가 변경할 필요가 없다는 것을 읽는 경로; 헤더를 모두 떨어뜨리지 않는 손잡이 및 공유된 *** 쿠키는 다른 탭의 세션으로 떨어졌다. 더 보기 matcher now include /api/:path* 명시적으로 (static-file rule Skipped /api/*.png). - WebSocket Handhakes의 /api/generate-otk Gains purpose=ws (30 s); 로그아웃 브라우저 키 유지 (다른 탭의 핸들은 그것에 달려 있습니다). - k8s/deployment.yaml는 kamo-internal-session-handle Secret를 마운트합니다.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing