fix domain validator #1329

This commit is contained in:
Alireza Ahmadi
2024-07-14 03:36:05 +02:00
parent 84ecdae7ca
commit 4d9c68dd7b

View File

@@ -3,13 +3,17 @@ package middleware
import ( import (
"net" "net"
"net/http" "net/http"
"strings"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
func DomainValidatorMiddleware(domain string) gin.HandlerFunc { func DomainValidatorMiddleware(domain string) gin.HandlerFunc {
return func(c *gin.Context) { return func(c *gin.Context) {
host, _, _ := net.SplitHostPort(c.Request.Host) host := c.Request.Host
if colonIndex := strings.LastIndex(host, ":"); colonIndex != -1 {
host, _, _ = net.SplitHostPort(c.Request.Host)
}
if host != domain { if host != domain {
c.AbortWithStatus(http.StatusForbidden) c.AbortWithStatus(http.StatusForbidden)