feat: fix get clients ip

This commit is contained in:
Urko. 2024-02-22 18:51:24 +01:00
parent cd42a6b0bf
commit 91585fdb0a
2 changed files with 8 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package handler
import (
"fmt"
"log"
"gitea.urkob.com/urko/prosody-password/internal/services/fail2ban"
"gitea.urkob.com/urko/prosody-password/internal/services/prosody"
@ -31,12 +32,13 @@ func (handler ProsodyHandler) Post(c *fiber.Ctx) error {
if err := c.BodyParser(&req); err != nil {
return RenderError(c, fmt.Errorf(" c.BodyParser(&req): %w", err), defaultErrMessage)
}
log.Println("request ip", c.IP())
req.CurrentPassword = c.FormValue("current_password")
req.NewPassword = c.FormValue("new_password")
if err := handler.prosodyService.ChangePassword(req.User, req.CurrentPassword, req.NewPassword); err != nil {
// for _, ip := range c.IPs() {
// handler.fail2banSrv.FailedAttempt(ip)
// }
for _, ip := range c.IPs() {
handler.fail2banSrv.FailedAttempt(ip)
}
return RenderError(c, fmt.Errorf("ChangePassword: %w", err), defaultErrMessage)
}

View File

@ -32,7 +32,9 @@ func NewRestServer(
func (s *RestServer) Start(apiPort, views string) error {
engine := handlebars.New(views, ".hbs")
s.app = fiber.New(fiber.Config{
Views: engine,
Views: engine,
ProxyHeader: "X-Forwarded-For",
EnableIPValidation: true,
})
s.app.Use(limiter.New(limiter.Config{
@ -47,7 +49,6 @@ func (s *RestServer) Start(apiPort, views string) error {
AllowHeaders: "Origin, Accept, Content-Type, X-CSRF-Token, Authorization",
ExposeHeaders: "Origin",
}))
s.loadViews()
prosodyHdl := handler.NewProsodyHandler(s.prosodyService, s.fail2banSrv)