- Dikirim
- 23 September 2026 pukul 10.21 UTC
- Penulis
- Kamo
- Commit
- 65f3228
forward () atur keluar X-Real-IP ke X- Forwarded- For.split (",") [0] -- yang merupakan salah satu bagian dari header itu kontrol klien Langsung: permintaan membawa "X-ForwardedFor: 8.8.8.8" tiba di Traefik, yang menambahkan alamat yang sebenarnya dilihatnya, dan header menjadi "8.8.8.8, < klien sebenarnya >". SecurityService 's Econtroller menyimpan gateway ini X-Real- IP verbatim pada catatan e- hukum, jadi pengunjung setiap bisa membuktikan untuk alamat apapun yang mereka suka hanya dengan mengirim mereka sendiri X- ForwardedFor. Ditambah ClientIpresolver (com.kamo.api.config), yang berjalan dalam daftar dari kanan dan mengambil yang PUBLIC pertama hop - semuanya ke kanan klien sebenarnya adalah infrastruktur kita sendiri, dan in- cluster hop selalu pribadi dan dilewati. Ini adalah algoritma yang sama Aksesorasi Filter sudah memiliki, pribadi untuk dirinya sendiri, untuk menilai aturan akses oleh IP; bahwa filter sekarang delegasi ke kelas diekstrak Alih-alih menjaga salinan sendiri, sehingga maju () dan filter setuju oleh konstruksi daripada oleh dua penulis independen mendapatkan hal yang sama sembilan baris kanan. X-ForwardedFor sendiri tidak berubah -- masih diteruskan sebagaimana diterima (atau disintesis dari soket peer ketika tidak hadir). Aturan yang sama-paling-publikasi-hop adalah duplikasi layanan per- di seluruh platform (SecurityService 's ClientIpresolver, ESigService' s Esignbing Clientip, DocsService 's LegalClientip) karena tidak satupun dari mereka Layanan sangat penting dari yang lain; ini adalah salinan awal. XRealIpForwarding Uji drive permintaan yang diteruskan membawa spoofed hop kiri di depan yang asli dan menegaskan permintaan upstream 's X- Real- IP adalah alamat asli, ditambah bahwa sebuah internal hop ditambahkan setelah klien nyata dilewati. ClientIpResolverTest melingkupi resolver langsung. Membalikkan ke split kiri-paling gagal XRealIpForwarding Segera tes.
