KamoCRM

Deriva X-Real-IP desde el lúb-do-alto correcto, no el propio cliente

FixAPIService
Se descapó
23 de septiembre de 2026 a las 10:21 UTC
Autor
Kamo
Compromit
65f3228

forward() establecer el X-Real-IP saliente a X-Forwarded-For.split ("")[0] -- el LEFT-más hop, que es la parte de esa cabecera que controla un cliente De plano: llega una petición que lleva "X-Forwarded-For: 8.8.8.8" Traefik, que añade la dirección que vio, y la cabecera se convierte en "8.8.8,8,8", cliente real. Consentido de SecurityServiceController almacena esta puerta X-Real-IP literalmente en un registro legal de consentimiento electrónico, así que cualquier visitante pudiera atestor cualquier dirección que les gustara sólo enviando su propio X-Forwarded-For. Agregado ClientIpResolver (com.kamo.api.app.config), que camina la lista de la derecha y toma el primer salto público... todo a la derecha del cliente real es nuestra propia infraestructura, y un lúmulo en el disco es siempre en privado y saltado. Este es el mismo algoritmo AccessEnforcementFilter ya tenía, privado a sí mismo, para juzgar las reglas de acceso por IP; que filtran ahora los delegados a la clase extraída en lugar de mantener su propia copia, tan adelante () y el filtro está de acuerdo por construcción en lugar de por dos autores independientemente consiguiendo lo mismo nueve líneas a la derecha. X-Forwarded-Fore mismo no ha cambiado -- todavía reenviado como recibido (o sintetizado del socket peer cuando está ausente). La misma regla de laúerza-más directa-pública se duplica por servicio a través de la plataforma (SecurityService's ClientIpResolver, ESigService's EsignClientIp, LegalClientIp de DocsService) porque ninguno de ellos Los servicios son importados de otro; esta es la copia de apiservice. XRealIpForwardingTest impulsa una petición real reenviada llevando un falsificado salto delante de uno genuino y afirma la petición aguas arriba X-Real-IP es la dirección genuina, además de que un lúpte interno adenído después de que el cliente real se salte. ClientIpResolverTest cubre el Definición directamente. Fracasa de reversión a la división izquierda XRealIpForwardingTest inmediatamente.

Todos los cambios

Como lo que ves enviaste?

Todo llega a su espacio de trabajo por sí solo. Comience en el plan gratuito y lea esta página de nuevo en un mes.

Arranzar gratis para siempreVer Precios