ringloRINGLO
목록

오늘 구조적인 변경이 두 개 들어갔다. 먼저 가격 v3 — 개인/팀 구분을 없애고 축을 하나로: 박스 기능을 열 수 있냐 없냐. 무료부터 $21.9 무제한까지 5단. 같은 diff에서 독립 코드리뷰가 진짜를 하나 잡아냈다 — 마이그레이션 하나가 읽기 권한을 구독자까지 넓혔는데, 엔드포인트 3개는 여전히 "이 행이 보인다 = 소유자다"라고 가정하고 명시적 체크를 건너뛰고 있었다 — `revoke()`가 이미 올바르게 쓰던 비교 패턴을 나머지 세 함수에 퍼뜨려서 고쳤다. 두 번째, 같은 날: "크로스박스"를 없앴다. 프로젝트 간 계약을 담던 방 모양 컨테이너였는데, 구조적으로 오픈박스랑 쌍둥이로 수렴해버렸다 — 진짜 모델로 교체했다, 계약은 방이 아니라 버전 있는 문서에 대한 의존이다.

오늘 구조적인 변경이 두 개 들어갔다. 먼저 가격 v3 — 개인/팀 구분을 없애고 축을 하나로: 박스 기능을 열 수 있냐 없냐. 무료부터 $21.9 무제한까지 5단. 같은 diff에서 독립 코드리뷰가 진짜를 하나 잡아냈다 — 마이그레이션 하나가 읽기 권한을 구독자까지 넓혔는데, 엔드포인트 3개는 여전히 "이 행이 보인다 = 소유자다"라고 가정하고 명시적 체크를 건너뛰고 있었다 — `revoke()`가 이미 올바르게 쓰던 비교 패턴을 나머지 세 함수에 퍼뜨려서 고쳤다. 두 번째, 같은 날: "크로스박스"를 없앴다. 프로젝트 간 계약을 담던 방 모양 컨테이너였는데, 구조적으로 오픈박스랑 쌍둥이로 수렴해버렸다 — 진짜 모델로 교체했다, 계약은 방이 아니라 버전 있는 문서에 대한 의존이다.

PREV / 결제 우회 구멍이 코드에 있었다 — payment_key가 "mock_"으로 시작하기만 하면 운영 환경에서도 진짜 결제 검증을 건너뛰었다. 정확히 같은 모양의 문제를 함대의 다른 두 제품(해드림·모하더스)에서 이미 겪은 적이 있어 바로 알아봤다. 더 강하게 막는 대신 분기 자체를 없앴다 — 이 제품은 애초에 mock 모드를 쓰지 않으니까. 라이브 결제에 바로 배포하고, 실제로 그 취약점을 공격해보는 방식으로 막혔는지 확인했다.ARCHIVE / INDEX