commit e2d4abf77068b55125ae7ad3e4066577afaf12c6
parent 89870243554569fb99fa0cdf59ed8d923214217a
Author: weetat <wtenison@protonmail.com>
Date: Fri, 28 Feb 2025 00:01:31 +0000
Filter a few more HTML tags in the interpreter
Replace the <script> substring check with an exact match against a
small list (script, object, embed, link). Still crude.
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/fmd/interpreter.go b/src/fmd/interpreter.go
@@ -1,9 +1,13 @@
package fmd
import (
+ "slices"
"strings"
)
+// TODO: Implment cleaner solution to sanitization.
+var invalidHTML = []string{"<script>", "</script>", "<object>", "</object>", "<embed", "<link>", "</link>"}
+
func interpret(n node) string {
var _res strings.Builder
@@ -55,7 +59,7 @@ func interpret(n node) string {
case nodeSpace:
return n.value
case nodeLiteral:
- if strings.Contains(n.value, "<script>") || strings.Contains(n.value, "</script>") {
+ if slices.Contains(invalidHTML, n.value) {
return ""
}