Enforce domain, host header validation against domain setting, Refactoring of PR #1866, Closes #1732

This commit is contained in:
Torkel Ödegaard
2015-05-05 11:21:06 +02:00
parent 1f2cba81eb
commit 34539c0c13
7 changed files with 39 additions and 11 deletions
+22
View File
@@ -0,0 +1,22 @@
package middleware
import (
"strings"
"github.com/Unknwon/macaron"
"github.com/grafana/grafana/pkg/setting"
)
func ValidateHostHeader(domain string) macaron.Handler {
return func(c *macaron.Context) {
h := c.Req.Host
if i := strings.Index(h, ":"); i >= 0 {
h = h[:i]
}
if !strings.EqualFold(h, domain) {
c.Redirect(strings.TrimSuffix(setting.AppUrl, "/")+c.Req.RequestURI, 301)
return
}
}
}