Quellcode durchsuchen

More aggressive rate limit

Manu Mtz-Almeida vor 10 Jahren
Ursprung
Commit
ef93e8beff
2 geänderte Dateien mit 7 neuen und 4 gelöschten Zeilen
  1. 1 1
      examples/realtime-advanced/main.go
  2. 6 3
      examples/realtime-advanced/routes.go

+ 1 - 1
examples/realtime-advanced/main.go

@@ -27,7 +27,7 @@ func StartGin() {
 	gin.SetMode(gin.ReleaseMode)
 
 	router := gin.New()
-	router.Use(rateLimit, gin.Recovery(), gin.Logger())
+	router.Use(rateLimit, gin.Recovery())
 	router.LoadHTMLGlob("resources/*.templ.html")
 	router.Static("/static", "resources/static")
 	router.GET("/", index)

+ 6 - 3
examples/realtime-advanced/routes.go

@@ -13,9 +13,12 @@ import (
 func rateLimit(c *gin.Context) {
 	ip := c.ClientIP()
 	value := ips.Add(ip, 1)
-	if value > 800 {
-		if int(value)%700 == 0 {
-			log.Printf("ip block: %s, count: %f\n", ip, value)
+	if int(value)%200 == 0 {
+		log.Printf("ip: %s, count: %f\n", ip, value)
+	}
+	if value > 300 {
+		if int(value)%200 == 0 {
+			log.Printf("ip blocked", ip, value)
 		}
 		c.AbortWithStatus(503)
 	}