/
githubmirror
/
gogs
Обзор
Документация
Войти
/
githubmirror
/
gogs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/app/api.go
34 строки
771 B
ᴊᴏᴇ ᴄʜᴇɴ
security: restrict ipynb sanitizer to safe image data URIs (#8326)
06 июн 2026, 06:15
Не верифицирован
06 июн 2026, 06:15
dd1bd98
Код
Авторство
О чём код?
package app import ( "net/http" "github.com/microcosm-cc/bluemonday" "gopkg.in/macaron.v1" "gogs.io/gogs/internal/markup" ) func ipynbSanitizer() *bluemonday.Policy { p := bluemonday.UGCPolicy() p.AllowAttrs("class", "data-prompt-number").OnElements("div") p.AllowAttrs("class").OnElements("img") // Only allow data URIs with safe image MIME types to prevent XSS via // "data:text/html" payloads. p.AllowURLSchemeWithCustomPolicy("data", markup.IsSafeDataURI) return p } func SanitizeIpynb() macaron.Handler { p := ipynbSanitizer() return func(c *macaron.Context) { html, err := c.Req.Body().String() if err != nil { c.Error(http.StatusInternalServerError, "read body") return } c.PlainText(http.StatusOK, []byte(p.Sanitize(html))) } }