- Expediere
- 23 septembrie 2026 la 10:21 UTC
- Autor
- Kamo
- Comite
- 65f3228
înainte () setează X-Real-IP de ieșire către X-forwarded-For.split(,"")[0] -- cel mai stâng salt, care este singura parte a antetului pe care îl controlează un client pur și simplu: o cerere care conține "X-forwarded-For: 8.8.8.8" ajunge la Traefik, care adaugă adresa pe care a văzut-o, şi antetul devine "8.8.8.8, un client real >." Economizatorul Serviciului de Securitate stocheaza acest portal X-Real-IP verbatim pe o înregistrare e-continut legal, așa Orice vizitator ar putea confirma orice adresă le-a plăcut doar prin trimiterea propriul lor X-Forwarded-For. Adăugat ClientIpResolver (com.kamo.api.app.config), care merge lista din dreapta și ia primul hop public - totul la dreapta al clientului real este propria noastră infrastructură, și un hop in-cluster este Întotdeauna privat şi sărit. Acesta este același algoritm Acces Enforcement Filtrul a avut deja, privat pentru sine, pentru a judeca normele de acces prin IP; acel filtru delega acum clasei extrase în loc să-și păstreze propria copie, astfel încât înainte() și filtrul să fie de acord cu constructii mai degrabă decât de doi autori obtinerea independent același Nouă linii dreapta. X-forwarded-Pentru sine este neschimbat -- încă transmis după cum a fost primit (sau sintetizat de la perechea prizei atunci când este absent). Aceeași regulă de drept-cea mai publică-hop este duplicat per-service în întreaga platforma (ClientIpResolver al Serviciului de securitate, ESigService's EsignClientIp, Serviciul DocsClientIp) pentru că nici unul dintre cei Serviciile pot fi importate de la alta; aceasta este copia Apiservice. XRealIpwarding Test drives o cerere reală înaintat care transportă o spoofed hop stânga în fața unuia autentic și susține cererea din amonte X-Real-IP este adresa originală, plus că un hop intern anexat după ce clientul adevărat este sărit. ClientIpRezolverTest acoperă Rezolvator direct. Revenind la partea stângă-cea mai mare nu reușește XRealIpwarding Testaţi imediat.
