| 123456789101112131415161718192021 |
- package main
- import (
- "log"
- "github.com/gin-gonic/gin"
- "github.com/manucorporat/stats"
- )
- var ips = stats.New()
- func ratelimit(c *gin.Context) {
- ip := c.ClientIP()
- value := uint64(ips.Add(ip, 1))
- if value >= 1000 {
- if value%1000 == 0 {
- log.Printf("BlockedIP:%s Requests:%d\n", ip, value)
- }
- c.AbortWithStatus(401)
- }
- }
|