This commit is contained in:
2026-05-24 17:15:48 +00:00
parent 329d5c665a
commit 063b3b643f
22 changed files with 1348 additions and 92 deletions
+13 -4
View File
@@ -5,7 +5,9 @@ import (
"context"
"database/sql"
"fmt"
"net"
"net/http"
"strings"
"time"
"ghb.freebede.com/nahakubuilder/mailgosend/internal/crypto"
@@ -245,11 +247,18 @@ func scanUser(row *sql.Row) (*models.User, error) {
// ---- Helpers ----
func realIP(r *http.Request) string {
if ip := r.Header.Get("X-Real-IP"); ip != "" {
return ip
if xri := r.Header.Get("X-Real-IP"); xri != "" {
if parsed := net.ParseIP(strings.TrimSpace(xri)); parsed != nil {
return parsed.String()
}
}
if ip := r.Header.Get("X-Forwarded-For"); ip != "" {
return ip
if xff := r.Header.Get("X-Forwarded-For"); xff != "" {
for _, part := range strings.Split(xff, ",") {
trimmed := strings.TrimSpace(part)
if parsed := net.ParseIP(trimmed); parsed != nil {
return parsed.String()
}
}
}
host, _, err := parseHostPort(r.RemoteAddr)
if err != nil {