Ensure IPv6 compliant host

Co-Authored-By: vnxme <46669194+vnxme@users.noreply.github.com>
This commit is contained in:
mhsanaei 2024-05-22 17:51:55 +02:00
parent 68c9b55447
commit e7c59adc59
3 changed files with 6 additions and 6 deletions

View file

@ -2,7 +2,7 @@ package sub
import ( import (
"encoding/base64" "encoding/base64"
"strings" "net"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@ -54,7 +54,7 @@ func (a *SUBController) initRouter(g *gin.RouterGroup) {
func (a *SUBController) subs(c *gin.Context) { func (a *SUBController) subs(c *gin.Context) {
subId := c.Param("subid") subId := c.Param("subid")
host := strings.Split(c.Request.Host, ":")[0] host, _, _ := net.SplitHostPort(c.Request.Host)
subs, header, err := a.subService.GetSubs(subId, host) subs, header, err := a.subService.GetSubs(subId, host)
if err != nil || len(subs) == 0 { if err != nil || len(subs) == 0 {
c.String(400, "Error!") c.String(400, "Error!")
@ -79,7 +79,7 @@ func (a *SUBController) subs(c *gin.Context) {
func (a *SUBController) subJsons(c *gin.Context) { func (a *SUBController) subJsons(c *gin.Context) {
subId := c.Param("subid") subId := c.Param("subid")
host := strings.Split(c.Request.Host, ":")[0] host, _, _ := net.SplitHostPort(c.Request.Host)
jsonSub, header, err := a.subJsonService.GetJson(subId, host) jsonSub, header, err := a.subJsonService.GetJson(subId, host)
if err != nil || len(jsonSub) == 0 { if err != nil || len(jsonSub) == 0 {
c.String(400, "Error!") c.String(400, "Error!")

View file

@ -61,7 +61,7 @@ func html(c *gin.Context, name string, title string, data gin.H) {
data = gin.H{} data = gin.H{}
} }
data["title"] = title data["title"] = title
data["host"] = strings.Split(c.Request.Host, ":")[0] data["host"], _, _ = net.SplitHostPort(c.Request.Host)
data["request_uri"] = c.Request.RequestURI data["request_uri"] = c.Request.RequestURI
data["base_path"] = c.GetString("base_path") data["base_path"] = c.GetString("base_path")
c.HTML(http.StatusOK, name, getContext(data)) c.HTML(http.StatusOK, name, getContext(data))

View file

@ -1,15 +1,15 @@
package middleware package middleware
import ( import (
"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 := strings.Split(c.Request.Host, ":")[0] host, _, _ := net.SplitHostPort(c.Request.Host)
if host != domain { if host != domain {
c.AbortWithStatus(http.StatusForbidden) c.AbortWithStatus(http.StatusForbidden)