[업데이트] Mublo Framework 1.5.0 - releases

wwiz 2026-09-02 13:11 조회 79 수정됨

Mublo Framework v1.5.0 을 릴리즈했습니다.
이번 버전은 쇼핑몰 결제에서 PG에 넘기는 복귀 주소를 요청의 Host 헤더가 아니라 사이트에 저장된 대표 도메인으로 만드는 보안 수정이 중심입니다.
에디터에서는 이미지에 링크를 거는 일이 실제로 동작하게 되었고, 이미지를 넣으면서 링크를 함께 지정할 수 있습니다. 데이터베이스 마이그레이션은 없고, 삭제할 파일도 없습니다.

다만 결제를 쓰는 사이트는 적용 전에 확인할 것이 하나 있습니다.
아래 도메인이 등록되지 않은 사이트는 결제가 막힙니다 항목을 먼저 읽어주세요.

결제 복귀 주소가 사이트에 저장된 대표 도메인을 따릅니다

지금까지 결제 플러그인에 넘기는 성공·실패·콜백 주소는 요청의 Host 헤더로 만들어졌습니다.
인프라가 임의의 Host를 애플리케이션으로 그대로 전달하는 구성이라면, 조작된 도메인이 PG의 복귀 주소에 들어갈 수 있었습니다.
결제를 마친 고객이 돌아가는 곳을 요청 하나로 바꿀 수 있다는 뜻입니다.

  • 이제 호스트는 현재 컨텍스트가 해결한 저장된 도메인만 URL의 권위로 씁니다. 요청 Host는 쓰지 않습니다.
  • 스킴(http/https)은 신뢰 프록시 정책이 적용된 판별 결과를 따릅니다.
  • 대표 도메인이 없을 때 요청 Host로 대신하지 않습니다. 예전의 "비어 있으면 Host로 채운다"가 바로 우회로였기 때문입니다.

결제 플러그인에 URL을 전달하는 기존 계약은 그대로입니다 — 플러그인은 Shop의 경로를 알지 않고 받은 값을 옮기기만 합니다. base_url·success_url·fail_url 이 같은 자리에 그대로 오므로 결제 플러그인은 고칠 것이 없습니다. 값이 저장된 도메인 기준으로 바뀌었을 뿐이고, base_url 이 빈 문자열로 오는 경우만 이제 없습니다.

[주의] 도메인이 등록되지 않은 사이트는 결제가 막힙니다

요청 Host를 더 이상 대신 쓰지 않으므로, 사이트에 저장된 대표 도메인이 비어 있으면 결제 요청이 사이트 도메인 설정을 확인해주세요.거부됩니다. 예전에는 도메인을 등록하지 않아도 요청 Host로 URL을 만들어 결제가 진행됐습니다. 도메인을 등록하지 않고 운영해 온 사이트는 적용 즉시 결제가 막힙니다.

업그레이드하기 전에 관리자 → 도메인 관리(/admin/domains) 에서 해당 사이트의 도메인이 등록되어 있는지 확인하세요. 멀티도메인으로 운영 중이라면 결제가 일어나는 도메인마다 확인해야 합니다.

에디터: 이미지에 링크를 걸면 이미지가 링크가 됩니다

이미지를 고르고 링크 버튼을 누르면 링크는 걸리지 않고 이미지 아래에 주소만 텍스트로 남았습니다. 이미지를 선택하면 리사이저가 뜨지만 브라우저 선택 영역은 이미지 뒤에 접힌 커서일 뿐이어서, 링크 기능이 "선택된 글자 없음"으로 보고 주소를 글자로 써 넣었기 때문입니다.

  • 이제 이미지가 선택된 상태에서는 이미지 자체를 링크로 감쌉니다.
  • 모달도 이미지용으로 바뀌어 표시할 텍스트 대신 안내가 나옵니다.
  • 이미 링크가 걸린 이미지를 다시 누르면 기존 주소가 채워진 채 열려 수정할 수 있습니다.
  • 링크 제거 버튼도 이미지에서 동작합니다 — 같은 이유로 그동안 아무 일도 일어나지 않았습니다.
  • 캡션을 붙일 때 이미지 링크가 끊기던 것도 고쳤습니다. 캡션은 이미지를 figure 로 감싸며 다는데, 이때 링크는 두고 이미지만 옮겨 빈 링크가 남았습니다. 이제 링크째 감쌉니다.

에디터: 이미지를 넣으면서 링크를 함께 지정합니다

그동안은 이미지를 넣은 뒤 다시 골라 링크를 거는 두 단계였습니다.

  • 이미지 모달에 링크 (선택) 칸이 생겼고, 새 탭 열기도 함께 고릅니다.
  • 이미지 교체 모달에서는 걸려 있던 주소가 채워져 나오고, 비우면 링크가 해제됩니다.
  • 이미지를 한 장만 고르면 이미지 모달에서 대체 텍스트·캡션·링크를 바로 입력할 수 있습니다. 이전에는 이 칸들이 교체할 때만 나와서, 새로 넣는 이미지에는 대체 텍스트조차 넣을 수 없었습니다. 여러 장을 고르면 장마다 값이 달라야 하므로 종전대로 숨깁니다.

링크 스킴 검사가 입력 단계로 앞당겨집니다

링크 주소에 javascript: 같은 실행 가능한 스킴을 넣으면 입력 단계에서 거부합니다. 지금까지는 저장할 때 걸러내는 데만 기대고 있었는데, 링크를 속성으로 직접 넣는 경로는 그 검사를 지나가지 않았습니다. 이미 저장된 본문은 종전대로 저장 시 검사에 걸립니다.

업그레이드

v1.4.0 에서 업그레이드: 패치 zip(mublo-1.4.0-to-1.5.0-patch.zip, 변경 파일 6개)을 설치 루트에 덮어쓰면 됩니다. 이번 릴리즈는 삭제할 파일이 없고, 실행할 마이그레이션도 없습니다.

덮어쓰기 전에 관리자 → 도메인 관리에서 대표 도메인이 등록되어 있는지 확인하세요.[주의] 항목의 이유입니다.

이번 릴리즈는 composer 의존성 변경이 없으므로 vendor 디렉토리는 건드리지 않아도 됩니다. 적용 후 관리자 → 시스템 관리 에서 버전이 1.5.0 으로 보이는지, 결제가 정상적으로 진행되고 자기 사이트 주소로 돌아오는지, 에디터에서 이미지에 링크가 걸리는지 확인하세요. 브라우저가 예전 에디터 파일을 캐시하고 있을 수 있으므로 에디터 동작이 그대로라면 강력 새로고침(Ctrl+F5)으로 확인합니다. 자세한 절차는 패치 zip 안의 PATCH-NOTES.txt 를 참고하세요.

에디터 파일(MubloEditor.js·MubloEditor.css)을 복사해 고쳐 쓰고 있다면 덮어쓸 때 그 수정이 사라집니다. 새로 생긴 CSS 규칙은 .mublo-editor-link-image-hint·.mublo-editor-image-link-check 둘입니다. 설정만 config.local.php 로 덮어쓰고 있다면 영향이 없습니다.

v1.4.0 미만에서 올라오는 경우에는 먼저 v1.4.0 까지의 업그레이드 절차를 완료한 뒤 이 패치를 적용하거나, 전체 배포본으로 파일을 교체하세요.

상세 변경 내역

이번 릴리즈에 포함된 PR 목록입니다. 각 링크에서 해당 변경의 코드와 논의를 볼 수 있습니다.

  • #51 — 에디터: 이미지에 링크를 걸면 이미지가 링크가 된다
  • #52 — Shop: 결제 URL에 대표 도메인 사용

1명이 반응했습니다.

글쓰기

댓글 0

등록된 댓글이 없습니다.