Communitygithub.com

btcpayserver/btcpayserver

Razor `.cshtml` 파일에서 지역화된 문자열을 편집하거나 검토할 때 사용합니다. 일반 텍스트에는 StringLocalizer를 사용하고, HTML을 포함하는 지역화된 문자열의 경우 ViewLocalizer 매개변수를 안전하게 인코딩합니다.

btcpayserver란 무엇인가요?

이 스킬은 BTCPay Server 프로젝트에서 Razor 뷰 파일(`.cshtml`)을 편집하거나 검토할 때 지역화된 문자열을 올바르게 처리하기 위해 사용됩니다. 개발자는 일반 텍스트와 HTML을 포함하는 문자열을 구분하여 적절한 지역화 도구(StringLocalizer 또는 ViewLocalizer)를 선택하고, HTML 콘텐츠가 포함된 경우 ViewLocalizer의 매개변수를 HTML 인코딩하여 XSS(교차 사이트 스크립팅) 취약점을 방지해야 합니다. 이 스킬은 주로 BTCPay Server와 같은 ASP.NET Core 기반 프로젝트에서 사용되며, 다국어 지원을 위한 모범 사례를 제공합니다. SKILL.md 문서에 따라 StringLocalizer는 순수 텍스트에, ViewLocalizer는 HTML을 포함하는 문자열에 사용하며, 후자의 경우 매개변수를 `Html.Encode()`로 감싸거나 안전한 인코딩 방식을 적용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add btcpayserver/btcpayserver

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

btcpayserver은(는) 무엇을 하나요?

Razor .cshtml 파일에서 매개변수화된 지역화 문자열을 편집하거나 검토할 때 사용합니다. 일반 텍스트에는 StringLocalizer를 선택하고, 지역화 문자열에 HTML이 포함된 경우 ViewLocalizer 매개변수를 안전하게 인코딩합니다.

사용 방법

  • 일반 텍스트: @StringLocalizer["Your text here"]를 사용합니다.
  • HTML 포함 문자열: @ViewLocalizer["<b>Your</b> text here"]를 사용하고, 매개변수는 Html.Encode()로 감쌉니다.

예시

@* 올바른 사용 예 *@
<p>@StringLocalizer["Hello, World!"]</p>
<p>@ViewLocalizer["Welcome, {0}!", Html.Encode(userName)]</p>

중요 사항

  • ViewLocalizer는 HTML을 포함할 수 있지만, 사용자 입력이나 동적 데이터는 반드시 인코딩해야 합니다.
  • 인코딩을 건너뛰면 XSS 공격에 취약해질 수 있습니다.
  • 자세한 내용은 ASP.NET Core 지역화 문서를 참조하세요.

관련 스킬