refactor(WEB): Server Action 공통화 및 보안 강화

- executeServerAction 공통 유틸 도입으로 actions.ts 대폭 간소화 (50+개 파일)
- sanitize 유틸 추가 (XSS 방지)
- middleware CSP 헤더 추가 및 Open Redirect 방지
- 프록시 라우트 로깅 개발환경 한정으로 변경
- 프로덕션 불필요 console.log 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-09 16:14:06 +09:00
parent d014227e9c
commit 55e0791e16
85 changed files with 7211 additions and 17638 deletions

View File

@@ -111,9 +111,13 @@ export async function refreshMenus(): Promise<RefreshMenuResult> {
// 5. localStorage 업데이트 (새로고침 대응)
const userData = localStorage.getItem('user');
if (userData) {
const parsed = JSON.parse(userData);
parsed.menu = transformedMenus;
localStorage.setItem('user', JSON.stringify(parsed));
try {
const parsed = JSON.parse(userData);
parsed.menu = transformedMenus;
localStorage.setItem('user', JSON.stringify(parsed));
} catch {
// localStorage 데이터 손상 시 무시
}
}
// 6. Zustand 스토어 업데이트 (UI 즉시 반영)
@@ -168,9 +172,13 @@ export async function forceRefreshMenus(): Promise<RefreshMenuResult> {
// localStorage 업데이트
const userData = localStorage.getItem('user');
if (userData) {
const parsed = JSON.parse(userData);
parsed.menu = transformedMenus;
localStorage.setItem('user', JSON.stringify(parsed));
try {
const parsed = JSON.parse(userData);
parsed.menu = transformedMenus;
localStorage.setItem('user', JSON.stringify(parsed));
} catch {
// localStorage 데이터 손상 시 무시
}
}
// Zustand 스토어 업데이트