diff --git a/pkg/serverconfigs/filterconfigs/filter_html_escape.go b/pkg/serverconfigs/filterconfigs/filter_html_escape.go
new file mode 100644
index 0000000..c6f11c3
--- /dev/null
+++ b/pkg/serverconfigs/filterconfigs/filter_html_escape.go
@@ -0,0 +1,20 @@
+package filterconfigs
+
+import (
+ "github.com/iwind/TeaGo/types"
+ "html"
+)
+
+type HTMLEscapeFilter struct {
+}
+
+// 初始化
+func (this *HTMLEscapeFilter) Init() error {
+ return nil
+}
+
+// 执行过滤
+func (this *HTMLEscapeFilter) Do(input interface{}, options interface{}) (output interface{}, goNext bool, err error) {
+ s := types.String(input)
+ return html.EscapeString(s), true, nil
+}
diff --git a/pkg/serverconfigs/filterconfigs/filter_html_escape_test.go b/pkg/serverconfigs/filterconfigs/filter_html_escape_test.go
new file mode 100644
index 0000000..4a59111
--- /dev/null
+++ b/pkg/serverconfigs/filterconfigs/filter_html_escape_test.go
@@ -0,0 +1,9 @@
+package filterconfigs
+
+import "testing"
+
+func TestHTMLEscapeFilter_Do(t *testing.T) {
+ filter := &HTMLEscapeFilter{}
+ t.Log(filter.Do("Hello", nil))
+ t.Log(filter.Do("", nil))
+}
diff --git a/pkg/serverconfigs/filterconfigs/filter_html_unescape.go b/pkg/serverconfigs/filterconfigs/filter_html_unescape.go
new file mode 100644
index 0000000..15bd19e
--- /dev/null
+++ b/pkg/serverconfigs/filterconfigs/filter_html_unescape.go
@@ -0,0 +1,20 @@
+package filterconfigs
+
+import (
+ "github.com/iwind/TeaGo/types"
+ "html"
+)
+
+type HTMLUnescapeFilter struct {
+}
+
+// 初始化
+func (this *HTMLUnescapeFilter) Init() error {
+ return nil
+}
+
+// 执行过滤
+func (this *HTMLUnescapeFilter) Do(input interface{}, options interface{}) (output interface{}, goNext bool, err error) {
+ s := types.String(input)
+ return html.UnescapeString(s), true, nil
+}
diff --git a/pkg/serverconfigs/filterconfigs/filter_html_unescape_test.go b/pkg/serverconfigs/filterconfigs/filter_html_unescape_test.go
new file mode 100644
index 0000000..e0d2da4
--- /dev/null
+++ b/pkg/serverconfigs/filterconfigs/filter_html_unescape_test.go
@@ -0,0 +1,10 @@
+package filterconfigs
+
+import "testing"
+
+func TestHTMLUnescapeFilter_Do(t *testing.T) {
+ filter := &HTMLUnescapeFilter{}
+ t.Log(filter.Do("Hello", nil))
+ t.Log(filter.Do("<script>", nil))
+ t.Log(filter.Do("