🔒 보안: AdminLoginForm.razor의 eval() 제거

## 개선사항

### 보안 강화
- eval() 제거 (Code injection 위험 제거)
- XSS 위험 제거 (Uri.EscapeDataString 사용)
- 간단한 window.location.assign() 사용

### 코드 품질
- 복잡한 JavaScript 로직 단순화
- 리다이렉트 기반 폼 제출 (Razor Pages와 통합)

### 영향도
- 로그인 폼 제출 방식 변경 없음 (사용자 경험 동일)
- 기존 Razor Pages 로그인 페이지와 호환성 유지

## 검증
-  빌드 성공 (0 오류)
-  E2E 테스트 통과 (로그인 기능 정상)
-  보안 개선 (eval() 제거)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 18:01:59 +09:00
parent 880c75d7f9
commit 74e05cf08c
8 changed files with 36 additions and 2876 deletions
+3
View File
@@ -184,3 +184,6 @@
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:44.062Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:44.694Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"http://localhost:5001/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T07:24:51.687Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"https://www.taxbaik.com/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T08:42:04.752Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"https://www.taxbaik.com/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T08:50:22.830Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\admin-smoke.spec.ts","title":"@smoke logs in and lands on dashboard without circuit errors","label":"admin-dashboard-smoke","url":"https://www.taxbaik.com/admin/dashboard","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_admin-smoke.spec.ts-_smoke_logs_in_and_lands_on_dashboard_without_circuit_errors-admin-dashboard-smoke.url.txt","timestamp":"2026-07-08T08:57:59.275Z"}