X-FORWARDED-FOR có thể chứa nhiều IP không


13

Có thể X-FORWARDED-FORchứa nhiều địa chỉ IP? Nếu vậy, tại sao? Một ví dụ minh họa sẽ là tuyệt vời.

Câu trả lời:


22

Có, nếu một yêu cầu được kết nối qua nhiều máy chủ proxy, thì mỗi proxy sẽ thêm IP của yêu cầu trước vào tiêu đề X-Forwarded-For hiện có để toàn bộ chuỗi được bảo toàn.


Tôi chưa bao giờ thấy một proxy gắn vào một giá trị hiện có. Bất kỳ trích dẫn cho điều này?
ceejayoz

4
Kinh nghiệm cá nhân. Tôi đã dành rất nhiều thời gian để phân tích các tiêu đề X-Forwarded-For mà một trang web lớn nhận được và thực sự không có gì lạ khi thấy hai hoặc ba địa chỉ IP trong tiêu đề.
Mike Scott

4
Nhưng cũng xem bài viết Wikipedia ở đây: en.m.wikipedia.org/wiki/X-Forwarded-For . Nó nói "giá trị là một danh sách địa chỉ IP được phân tách bằng dấu phẩy + không gian, bên trái - hầu hết là máy khách gốc và mỗi proxy liên tiếp chuyển yêu cầu thêm địa chỉ IP nơi nhận được yêu cầu từ".
Mike Scott

Tôi tự hỏi nếu đó là một proxy cụ thể làm điều đó. Hấp dẫn. Theo kinh nghiệm của tôi, nginx không xử lý nó như thế này.
ceejayoz

1
@ceejayoz nếu bạn đang sử dụng các dự án nguồn mở như nginx và viết tiêu đề của bạn là "SET xff = clientIP" thì nó sẽ không bao giờ xuất hiện. Hầu hết các thiết bị thương mại hoặc append hoặc bộ nếu thuộc tính không có sẵn networkinghowtos.com/howto/...
Jacob Evans

2

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

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

Nếu một yêu cầu đi qua nhiều proxy, địa chỉ IP của mỗi proxy liên tiếp được liệt kê. Điều này có nghĩa, địa chỉ IP ngoài cùng bên phải là địa chỉ IP của proxy gần đây nhất và địa chỉ IP ngoài cùng bên trái là địa chỉ IP của máy khách gốc.

Ví dụ:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.