Merge pull request 'Add security response headers' (#45) from fix/security-headers into main
Reviewed-on: https://git.ts.mattnite.net/mattnite/forgejo-tickets/pulls/45
This commit is contained in:
commit
9e4eef294a
|
|
@ -29,6 +29,7 @@ func NewRouter(deps Dependencies) *gin.Engine {
|
|||
r.Use(middleware.RequestID)
|
||||
r.Use(middleware.Logging)
|
||||
r.Use(middleware.Recovery)
|
||||
r.Use(middleware.SecurityHeaders(strings.HasPrefix(deps.Config.BaseURL, "https")))
|
||||
|
||||
tsAuth := &TailscaleAuth{allowedUsers: deps.Config.TailscaleAllowedUsers}
|
||||
r.Use(tsAuth.Middleware)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ func NewRouter(deps Dependencies) *gin.Engine {
|
|||
r.Use(middleware.RequestID)
|
||||
r.Use(middleware.Logging)
|
||||
r.Use(middleware.Recovery)
|
||||
r.Use(middleware.SecurityHeaders(strings.HasPrefix(deps.Config.BaseURL, "https")))
|
||||
r.Use(deps.Auth.SessionMiddleware)
|
||||
|
||||
csrfSecret := []byte(deps.Config.SessionSecret)
|
||||
|
|
|
|||
|
|
@ -44,3 +44,15 @@ func Recovery(c *gin.Context) {
|
|||
}()
|
||||
c.Next()
|
||||
}
|
||||
|
||||
func SecurityHeaders(secure bool) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
c.Header("X-Content-Type-Options", "nosniff")
|
||||
c.Header("X-Frame-Options", "DENY")
|
||||
c.Header("Referrer-Policy", "strict-origin-when-cross-origin")
|
||||
if secure {
|
||||
c.Header("Strict-Transport-Security", "max-age=63072000; includeSubDomains")
|
||||
}
|
||||
c.Next()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue