Dapatkah X-FORWARDED-FOR berisi beberapa IP

13

Dapat X-FORWARDED-FORberisi beberapa alamat IP? Jika demikian, mengapa? Contoh ilustratif akan sangat bagus.

Hassan Baig
sumber

Jawaban:

22

Ya, jika permintaan dirantai melalui lebih dari satu server proxy, maka setiap proxy harus menambahkan IP dari yang sebelumnya ke header X-Forwarded-For yang ada sehingga seluruh rantai dipertahankan.

Mike Scott
sumber
Saya belum pernah melihat proksi yang ditambahkan ke nilai yang ada. Ada kutipan untuk ini?
ceejayoz
4
Pengalaman pribadi. Saya telah menghabiskan banyak waktu menganalisis header X-Forwarded-For yang diterima oleh sebuah situs web besar, dan sebenarnya tidak jarang melihat dua atau tiga alamat IP di header.
Mike Scott
4
Tetapi juga lihat artikel Wikipedia di sini: en.m.wikipedia.org/wiki/X-Forwarded-For . Dikatakan "nilainya adalah daftar alamat IP yang dipisahkan koma + spasi, yang paling kiri adalah klien asli, dan setiap proksi berturut-turut yang lulus permintaan menambahkan alamat IP tempat menerima permintaan dari".
Mike Scott
Saya ingin tahu apakah itu salah satu proxy tertentu yang melakukan itu. Menarik. Dalam pengalaman saya, nginx tidak menanganinya seperti ini.
ceejayoz
1
@ceejayoz jika Anda menggunakan proyek sumber terbuka seperti nginx dan menulis header Anda sebagai "SET xff = clientIP" itu tidak akan pernah ditambahkan. Sebagian besar peralatan komersial ditambahkan atau disetel jika atribut tidak tersedia networkinghowtos.com/howto/…
Jacob Evans
2

Dari https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For

X-Forwarded-For: <client>, <proxy1>, <proxy2>

Jika permintaan melewati beberapa proksi, alamat IP masing-masing proxy berturut-turut terdaftar. Ini berarti, alamat IP paling kanan adalah alamat IP dari proksi terbaru dan alamat IP paling kiri adalah alamat IP dari klien yang berasal.

Contoh:

X-Forwarded-For: 2001:db8:85a3:8d3:1319:8a2e:370:7348

X-Forwarded-For: 203.0.113.195

X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178
Sindre
sumber