Add some headers to improve security

This commit is contained in:
Ivan R. 2023-07-22 20:49:13 +05:00
parent de76c90f3c
commit 69eb490803
No known key found for this signature in database
GPG key ID: 56C7BAAE859B302C
2 changed files with 16 additions and 0 deletions

View file

@ -11,6 +11,8 @@ func GetGinEngine(cfg *config.Config, db *gorm.DB) *gin.Engine {
engine.LoadHTMLGlob("templates/*")
engine.Static("/assets", "./assets")
engine.Use(SecurityHeadersMiddleware)
engine.GET("/signin", func(c *gin.Context) {
ShowLoginForm(c)
})

14
views/security.go Normal file
View file

@ -0,0 +1,14 @@
package views
import (
"github.com/gin-gonic/gin"
)
// Adds several headers to the response to improve security.
// For example, headers prevent embedding a site and passing information about the referrer.
func SecurityHeadersMiddleware(c *gin.Context) {
c.Writer.Header().Set("X-Frame-Options", "SAMEORIGIN")
c.Writer.Header().Set("X-Content-Type-Options", "nosniff")
c.Writer.Header().Set("Referrer-Policy", "same-origin")
c.Writer.Header().Set("Content-Security-Policy", "default-src 'self'")
}