[go] html/escape 패키지의 기능 확장 가능성

Go 언어의 html 패키지는 HTML escaping과 unescaping을 지원합니다. 이 패키지는 웹 어플리케이션에서 사용자로부터 입력을 받아들일 때, 특히 텍스트 필드에 대해 태그를 escaping하는 데 사용됩니다. 그러나 현재 기본 기능만을 제공하므로 필요에 따라 추가적인 기능을 구현해야 할 경우가 있습니다.

package main

import (
	"fmt"
	"html"
)

func main() {
	dangerousInput := "<script>alert('xss')</script>"
	safeOutput := html.EscapeString(dangerousInput)
	fmt.Println(safeOutput)
}
&lt;script&gt;alert(&#39;xss&#39;)&lt;/script&gt;

현재 html 패키지는 기본 escaping과 unescaping 기능을 제공하지만, 앞으로 이를 확장하거나 수정할 수 있는 기능이 추가될 수 있습니다. 예를 들어, 특정 태그나 속성만을 escaping하는 기능, 혹은 특정 문자를 custom escaping하는 기능 등이 추가될 가능성이 있습니다.

이러한 확장 가능성은 Go 언어의 풍부한 표준 라이브러리 환경을 보여주는 예시 중 하나입니다.

참고 자료