Browse Source

[fix] improve custom emoji validation (#1772)

pull/1775/head
David 4 years ago committed by GitHub
parent
commit
9983ef2794
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      core/chat/events/events.go

5
core/chat/events/events.go

@ -125,8 +125,9 @@ func RenderMarkdown(raw string) string { @@ -125,8 +125,9 @@ func RenderMarkdown(raw string) string {
}
var (
_sanitizeReSrcMatch = regexp.MustCompile(`(?i)^/img/emoji`)
_sanitizeReSrcMatch = regexp.MustCompile(`(?i)^/img/emoji/[^\.%]*.[A-Z]*$`)
_sanitizeReAltTitleMatch = regexp.MustCompile(`:\S+:`)
_sanitizeReClassMatch = regexp.MustCompile(`(?i)^(emoji)[A-Z_]*?$`)
)
func sanitize(raw string) string {
@ -153,7 +154,7 @@ func sanitize(raw string) string { @@ -153,7 +154,7 @@ func sanitize(raw string) string {
// Allow img tags from the the local emoji directory only
p.AllowAttrs("src").Matching(_sanitizeReSrcMatch).OnElements("img")
p.AllowAttrs("alt", "title").Matching(_sanitizeReAltTitleMatch).OnElements("img")
p.AllowAttrs("class").OnElements("img")
p.AllowAttrs("class").Matching(_sanitizeReClassMatch).OnElements("img")
// Allow bold
p.AllowElements("strong")

Loading…
Cancel
Save