ipblack.go 363 B

123456789101112131415161718192021
  1. package middleware
  2. import (
  3. "net/http"
  4. "github.com/gin-gonic/gin"
  5. "github.com/labring/aiproxy/core/common/ipblack"
  6. )
  7. func IPBlock(c *gin.Context) {
  8. ip := c.ClientIP()
  9. isBlock := ipblack.GetIPIsBlockAnyWay(c.Request.Context(), ip)
  10. if isBlock {
  11. AbortLogWithMessage(c, http.StatusForbidden, "please try again later")
  12. c.Abort()
  13. return
  14. }
  15. c.Next()
  16. }