feat(security): #278 update csp directives #279
@@ -4,10 +4,25 @@ import "net/http"
|
||||
|
||||
func ContentSecurityPolicy(next http.Handler) http.Handler {
|
||||
|
||||
values := map[string]string{
|
||||
"default-src": "'none'",
|
||||
"script-src": "'self' https://umami.me-fit.eu",
|
||||
"connect-src": "'self' https://umami.me-fit.eu",
|
||||
"img-src": "'self'",
|
||||
"style-src": "'self'",
|
||||
"form-action": "'self'",
|
||||
"frame-ancestors": "'none'",
|
||||
}
|
||||
|
||||
var headerValue string
|
||||
for key, value := range values {
|
||||
headerValue += key + " " + value + "; "
|
||||
}
|
||||
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
// While this value can be overridden, it can't be moved to after the next.ServeHTTP call,
|
||||
// because if the response writer get's closed, the headers can't be set anymore
|
||||
w.Header().Set("Content-Security-Policy", "default-src 'self' https://umami.me-fit.eu; frame-ancestors 'none'")
|
||||
w.Header().Set("Content-Security-Policy", headerValue)
|
||||
|
||||
next.ServeHTTP(w, r)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user