asaskevich / govalidator

[Go] Package of validators and sanitizers for strings, numerics, slices and structs
MIT License
6.05k stars 555 forks source link

IsURL is accepting "http//" as legitimate URL prefix #494

Open mpkondrashin opened 1 year ago

mpkondrashin commented 1 year ago

Bug Report

Summary

IsURL is accepting "http//" as legitimate URL prefix

github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2

Current behavior

govalidator.IsURL("http//abc.com") returns true.

How to reproduce

package main

import (
    "fmt"
    "github.com/asaskevich/govalidator"
)

func Main() {
    fmt.Println(govalidator.IsURL("http//abc.com"))
}

Expected behavior

IsURL is expected to return false for "http//abc.com"

StrawHatHacker commented 12 months ago

Just came across this error in my code. For now, I just check if it starts with http:// or https://, but it would be good if this issue is addressed soon since this package is used in a lot of production environments. Judging from the commit history, I don't have a lot of faith.

elkcityhazard commented 10 months ago

I submitted a pull request for this