Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New(config Config) gin.HandlerFunc
New creates an instance of the secure middleware using the specified configuration. router.Use(secure.N)
Types ¶
type Config ¶
type Config struct {
// AllowedHosts is a list of fully qualified domain names that are allowed.
//Default is empty list, which allows any and all host names.
AllowedHosts []string
// If SSLRedirect is set to true, then only allow https requests.
// Default is false.
SSLRedirect bool
// If SSLTemporaryRedirect is true, the a 302 will be used while redirecting.
// Default is false (301).
SSLTemporaryRedirect bool
// SSLHost is the host name that is used to redirect http requests to https.
// Default is "", which indicates to use the same host.
SSLHost string
// STSSeconds is the max-age of the Strict-Transport-Security header.
// Default is 0, which would NOT include the header.
STSSeconds int64
// If STSIncludeSubdomains is set to true, the `includeSubdomains` will
// be appended to the Strict-Transport-Security header. Default is false.
STSIncludeSubdomains bool
// If FrameDeny is set to true, adds the X-Frame-Options header with
// the value of `DENY`. Default is false.
FrameDeny bool
// CustomFrameOptionsValue allows the X-Frame-Options header value
// to be set with a custom value. This overrides the FrameDeny option.
CustomFrameOptionsValue string
// If ContentTypeNosniff is true, adds the X-Content-Type-Options header
// with the value `nosniff`. Default is false.
ContentTypeNosniff bool
// If BrowserXssFilter is true, adds the X-XSS-Protection header with
// the value `1; mode=block`. Default is false.
BrowserXssFilter bool
// ContentSecurityPolicy allows the Content-Security-Policy header value
// to be set with a custom value. Default is "".
ContentSecurityPolicy string
// HTTP header "Referrer-Policy" governs which referrer information, sent in the Referrer header, should be included with requests made.
ReferrerPolicy string
// When true, the whole security policy applied by the middleware is disabled completely.
IsDevelopment bool
// Handlers for when an error occurs (ie bad host).
BadHostHandler gin.HandlerFunc
// Prevent Internet Explorer from executing downloads in your site’s context
IENoOpen bool
// Feature Policy is a new header that allows a site to control which features and APIs can be used in the browser.
FeaturePolicy string
// If DontRedirectIPV4Hostnames is true, requests to hostnames that are IPV4
// addresses aren't redirected. This is to allow load balancer health checks
// to succeed.
DontRedirectIPV4Hostnames bool
// If the request is insecure, treat it as secure if any of the headers in this dict are set to their corresponding value
// This is useful when your app is running behind a secure proxy that forwards requests to your app over http (such as on Heroku).
SSLProxyHeaders map[string]string
}
Config is a struct for specifying configuration options for the secure.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns a Configuration with strict security settings. ```
SSLRedirect: true
IsDevelopment: false
STSSeconds: 315360000
STSIncludeSubdomains: true
FrameDeny: true
ContentTypeNosniff: true
BrowserXssFilter: true
ContentSecurityPolicy: "default-src 'self'"
SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"},
```
Source Files
¶
- policy.go
- secure.go
Click to show internal directories.
Click to hide internal directories.