userAgent filter now checks for substrings instead of perfect match

This commit is contained in:
uan
2025-08-08 13:49:50 +02:00
parent 11dd7a3587
commit 03d6abb69a

View File

@@ -123,18 +123,28 @@ func (ws *WebServer) isIpValid(ip string) bool {
case FILTER_MODE_BLACKLIST:
return !slices.Contains(ws.ipFilter, ip)
default:
return false
return false //if something went wrong with conf parsing
}
}
func (ws *WebServer) isUserAgentValid(userAgent string) bool {
switch ws.userAgentFilterMode {
case FILTER_MODE_WHITELIST:
return slices.Contains(ws.userAgentFilter, userAgent)
case FILTER_MODE_BLACKLIST:
return !slices.Contains(ws.userAgentFilter, userAgent)
default:
for _, userAgentString := range ws.userAgentFilter {
if strings.Contains(userAgentString, userAgent) {
return true
}
}
return false
case FILTER_MODE_BLACKLIST:
for _, userAgentString := range ws.userAgentFilter {
if strings.Contains(userAgentString, userAgent) {
return false
}
}
return true
default:
return false //if something went wrong with conf parsing
}
}