Bläddra i källkod

enhance: clean filepath

Jacky 6 månader sedan
förälder
incheckning
abd76ff930
2 ändrade filer med 8 tillägg och 2 borttagningar
  1. 0 1
      api/config/list.go
  2. 8 1
      internal/nginx/config_args.go

+ 0 - 1
api/config/list.go

@@ -18,7 +18,6 @@ func GetConfigs(c *gin.Context) {
 	dir := c.DefaultQuery("dir", "/")
 
 	configFiles, err := os.ReadDir(nginx.GetConfPath(dir))
-
 	if err != nil {
 		api.ErrHandler(c, err)
 		return

+ 8 - 1
internal/nginx/config_args.go

@@ -1,6 +1,7 @@
 package nginx
 
 import (
+	"github.com/0xJacky/Nginx-UI/internal/helper"
 	"github.com/0xJacky/Nginx-UI/internal/logger"
 	"github.com/0xJacky/Nginx-UI/settings"
 	"os/exec"
@@ -31,7 +32,13 @@ func GetConfPath(dir ...string) (confPath string) {
 		confPath = settings.NginxSettings.ConfigDir
 	}
 
-	return filepath.Join(confPath, filepath.Join(dir...))
+	joined := filepath.Clean(filepath.Join(confPath, filepath.Join(dir...)))
+
+	if !helper.IsUnderDirectory(confPath, joined) {
+		return confPath
+	}
+
+	return
 }
 
 func GetPIDPath() (path string) {