Files
frp-panel/utils/validate.go
2024-12-29 00:45:14 +08:00

40 lines
679 B
Go

package utils
const (
whiteListChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"
)
func IsClientIDPermited(clientID string) bool {
if len(clientID) == 0 {
return false
}
chrMap := make(map[rune]bool)
for _, chr := range whiteListChar {
chrMap[chr] = true
}
for _, chr := range clientID {
if !chrMap[chr] {
return false
}
}
return true
}
func MakeClientIDPermited(clientID string) string {
input := []rune(clientID)
output := input
chrMap := make(map[rune]bool)
for _, chr := range whiteListChar {
chrMap[chr] = true
}
for idx, chr := range input {
if !chrMap[chr] {
output[idx] = '-'
}
}
return string(output)
}