X-FORWARDED-FOR มีหลาย IP ได้หรือไม่


13

สามารถX-FORWARDED-FORมีที่อยู่ IP หลายแห่งได้หรือไม่ ถ้าเป็นเช่นนั้นทำไม ตัวอย่างที่แสดงจะดีมาก

คำตอบ:


22

ใช่หากคำขอถูกผูกมัดผ่านพร็อกซีเซิร์ฟเวอร์มากกว่าหนึ่งตัวพร็อกซีแต่ละตัวควรเพิ่ม IP ของรายการก่อนหน้าไปยังส่วนหัว X-Forwarded-For ที่มีอยู่เพื่อให้ห่วงโซ่ทั้งหมดถูกเก็บรักษาไว้


ฉันไม่เคยเห็นพร็อกซีที่ต่อท้ายกับค่าที่มีอยู่ มีการอ้างถึงเรื่องนี้ไหม?
ceejayoz

4
ประสบการณ์ส่วนตัว. ฉันใช้เวลาวิเคราะห์ X-Forwarded- สำหรับส่วนหัวที่ได้รับจากเว็บไซต์ขนาดใหญ่และจริง ๆ แล้วไม่ใช่เรื่องแปลกที่จะเห็นที่อยู่ IP สองหรือสามรายการในส่วนหัว
Mike Scott

4
แต่ยังดูบทความวิกิพีเดียที่นี่: en.m.wikipedia.org/wiki/X-Forwarded-For มันบอกว่า "ค่านี้เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค + ช่องว่างของที่อยู่ IP, ซ้ายสุดเป็นไคลเอนต์เดิมและแต่ละพร็อกซีต่อเนื่องที่ผ่านการร้องขอเพิ่มที่อยู่ IP ที่ได้รับการร้องขอจาก"
Mike Scott

ฉันสงสัยว่าเป็นพร็อกซีหนึ่งที่ทำเช่นนั้น มโนหร จากประสบการณ์ของฉัน nginx ไม่ได้จัดการเช่นนี้
ceejayoz

1
@ceejayoz หากคุณใช้โครงการโอเพ่นซอร์สเช่น nginx และเขียนส่วนหัวเป็น "SET xff = clientIP" จะไม่มีการต่อท้าย เครื่องใช้เชิงพาณิชย์ส่วนใหญ่จะผนวกหรือตั้งค่าหากคุณลักษณะไม่พร้อมใช้งาน networkinghowtos.com/howto/…
Jacob Evans

2

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

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

หากการร้องขอผ่านพร็อกซีหลายรายการที่อยู่ IP ของแต่ละพร็อกซีที่ต่อเนื่องจะแสดงรายการ ซึ่งหมายความว่าที่อยู่ IP ที่ถูกต้องที่สุดคือที่อยู่ IP ของพร็อกซีล่าสุดและที่อยู่ IP ที่ซ้ายสุดคือที่อยู่ IP ของไคลเอนต์ต้นทาง

ตัวอย่าง:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.