25 lines
932 B
Go
25 lines
932 B
Go
package middleware
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func SecurityHeaders() gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
//requestHost := c.Request.Host
|
|
//if requestHost != global.CONFIG.System.Web {
|
|
// result.FailWithMessage(ginI18n.MustGetMessage(c, "IllegalRequests"), c)
|
|
// c.Abort()
|
|
// return
|
|
//}
|
|
c.Header("X-Frame-Options", "DENY")
|
|
c.Header("Content-Security-Policy", "default-src 'self'; connect-src *; font-src *; script-src-elem * 'unsafe-inline'; img-src * data:; style-src * 'unsafe-inline';")
|
|
c.Header("X-XSS-Protection", "1; mode=block")
|
|
c.Header("Strict-Transport-Security", "max-age=31536000; includeSubDomains; preload")
|
|
c.Header("Referrer-Policy", "strict-origin")
|
|
c.Header("X-Content-Type-Options", "nosniff")
|
|
c.Header("Permissions-Policy", "geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()")
|
|
c.Next()
|
|
}
|
|
}
|