fix(core): 레이아웃 첨부 URL 이 항상 프록시로 발급되던 결함 수정

공개 자산 스토리지를 설정해도 레이아웃 배경 이미지가 매번 오리진 PHP 를
거쳐 서빙되던 결함을 고친다 (https://github.com/gnuboard/g7/issues/134).
판정 기준은 운영자가 명시 선언한 core.storage.public_asset_disk 와 행 disk
의 일치다 — 디스크의 url 설정 유무로 판정하면 비공개 버킷에 공개 URL 이
설정된 구성에서 발급된 주소가 403 이 되어 그 이미지가 전부 깨진다.

전수조사에서 함께 처리한 것: 게시판 첨부 응답 url 칸(항상 null → 게이트가
살아 있는 서빙 URL), 페이지의 미배선 메서드 삭제, 확장 카테고리별 저장소
URL·경로 조회 교정, 그리고 이번 변경이 새로 만드는 고아 disk 위험 방어
(무인증 공개 서빙 라우트가 500 이 되는 것을 404 로 degrade).

문서화 하네스도 함께 보강한다. 실측을 수행하고도 이력 문서에는 판정만 남기면
대화 로그가 사라진 뒤 아무에게도 도달하지 않는데, 그 강제가 보고 형식에만
있었다.
This commit is contained in:
HeuJung
2026-09-08 12:54:29 +09:00
parent e160a86f0d
commit 5c2e42c133
42 changed files with 1427 additions and 83 deletions
@@ -9,6 +9,7 @@
### Added
- 관리자 로그인 화면의 2단계 인증(인증번호 입력·다시 받기·처음부터·유효 시각)과 계정 잠금 해제 시각 안내의 일본어 번역을 추가했습니다.
- 환경설정 > 드라이버 「공개 자산 스토리지」 설명에 추가된 문장(레이아웃 배경 이미지 포함, 켠 뒤 올린 파일만 직접 주소로 발급)의 일본어 번역을 갱신했습니다.
## [1.0.8] - 2026-09-06
@@ -1697,7 +1697,7 @@
},
"public_asset": {
"title": "公開アセットストレージ",
"desc": "完全公開アセット(商品・カテゴリ・レビュー・エディタ画像など)を直接URLで配信するディスクを設定します。使用しない場合は既存のストリーミング方式で動作します。",
"desc": "完全公開アセット(商品・カテゴリ・レビュー・エディタ画像、レイアウト背景画像など)を直接URLで配信するディスクを設定します。使用しない場合は既存のストリーミング方式で動作します。有効化後にアップロードしたファイルのみ直接URLが発行され、そのアドレスは保存されたレイアウトにそのまま残ります。",
"disk": "ディスク",
"s3_help": "S3を選択する場合は、上のファイルストレージカードのS3 URL(CDNドメイン)設定が必要です。未設定の場合はストリーミングで動作します。"
},