有没有办法在go net/http“listenandserver”中拒绝/阻止请求?在我的情况下,我希望只允许具有useragent“test 1.0”的请求。其他所有内容都将被阻止。
“我还想制定一个速率限制。例如:(如果来自同一IP的请求每秒超过50 R / S超过第二个块1小时...)”我可以这样做,但正如我所说,我不知道如何阻止请求。
package main
import (
"net/http"
)
func handle(w http.ResponseWriter, r *http.Request) {
if r.UserAgent() == "test/1.0" {
//Allow
} else {
//Block request
}
}
func main() {
http.HandleFunc("/", handle)
http.ListenAndServe(":8080", nil)
}
紫衣仙女
相关分类