added input sanitization
This commit is contained in:
parent
d928a681f9
commit
97e41eece0
@ -6,6 +6,7 @@ import (
|
||||
"regexp"
|
||||
"strings"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/xmppo/go-xmpp"
|
||||
"gopkg.in/ini.v1"
|
||||
@ -71,19 +72,30 @@ func (nkbot *NekoUKrovuBot) Listen() {
|
||||
}
|
||||
|
||||
func (nkbot *NekoUKrovuBot) handleChat(ch *xmpp.Chat) {
|
||||
src := ch.Remote
|
||||
txt := ch.Text
|
||||
|
||||
if src == "sdsads" {
|
||||
if !nkbot.sanitizeInput(txt) {
|
||||
return
|
||||
}
|
||||
|
||||
if nkbot.checkForJelNekoUKrovu(txt) {
|
||||
n := ping.Run()
|
||||
n := ping.PingLocal255()
|
||||
nkbot.answer(fmt.Sprintf("%v uredjaja povezano", n))
|
||||
}
|
||||
}
|
||||
|
||||
func (nkbot *NekoUKrovuBot) sanitizeInput(input string) bool {
|
||||
if len(input) > 50 {
|
||||
return false
|
||||
}
|
||||
|
||||
if !utf8.ValidString(input) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func (nkbot *NekoUKrovuBot) checkForJelNekoUKrovu(txt string) bool {
|
||||
normalizedText := strings.ToLower(txt)
|
||||
|
||||
|
@ -86,8 +86,7 @@ func TestNekoUKrovuBot_checkForJelNekoUKrovu(t *testing.T) {
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
nkbot := &NekoUKrovuBot{
|
||||
}
|
||||
nkbot := &NekoUKrovuBot{}
|
||||
if got := nkbot.checkForJelNekoUKrovu(tt.args.txt); got != tt.want {
|
||||
t.Errorf("NekoUKrovuBot.checkForJelNekoUKrovu() = %v, want %v", got, tt.want)
|
||||
}
|
||||
|
2
main.go
2
main.go
@ -1,8 +1,8 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"gitea.dmz.rs/bauljamic123arlijam/neko-u-krovu-bot/chatbot"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
func Run() int {
|
||||
func PingLocal255() int {
|
||||
localIP, err := getLocalIP()
|
||||
if err != nil {
|
||||
fmt.Println("Error getting local IP:", err)
|
||||
@ -56,7 +56,6 @@ func getNetworkPrefix(ip net.IP) string {
|
||||
return fmt.Sprintf("%d.%d.%d.0", ip[0], ip[1], ip[2])
|
||||
}
|
||||
|
||||
|
||||
func ping(ip string) bool {
|
||||
output, err := exec.Command("ping", "-c", "1", "-W", "1", ip).CombinedOutput()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user