2015-04-30 16 views
5

Tôi cần Địa chỉ IP/Tên máy/Địa chỉ Mac của ứng dụng khách trong ứng dụng web của tôi cho một ứng dụng cụ thể. Sử dụng request.getRemoteHost()/request.getRemoteAddr() Tôi lấy chi tiết về Tường lửa cho Mạng thay vì máy khách thực sự. Tôi cũng đã thử truy cập vào tiêu đề yêu cầu - X-Forwarded-For, như được đề xuất trong nhiều câu trả lời. Nhưng nó luôn được trả về là Empty. Tôi không có quyền kiểm soát Proxy Server/Firewall Server để cấu hình nó để thêm tiêu đề, vì chúng được Khách hàng kiểm soát.Nhận địa chỉ IP thực tế của máy khách phía sau Tường lửa, trong Java

Có API nào khác trong Java hoặc javascript để truy xuất IP ứng dụng khách gốc cho yêu cầu không.

Any help is appreciated rất ...

+3

Tôi không nghĩ rằng điều đó là có thể. Bạn nhận được FireWall IP theo yêu cầu. – MaxZoom

+0

Không thể với NAT. Thông tin đó chỉ đơn giản là không có sẵn cho máy chủ. –

Trả lời

3

Thậm chí nếu bạn có được địa chỉ IP thực (ví dụ chạy Applet ký kết hoặc lừa ActiveObject), bạn không thể sử dụng nó - đó là đằng sau bức tường lửa và bạn không thể truy cập vào nó.

Có lẽ nhu cầu của bạn là nhận dạng duy nhất máy tính/trình duyệt? Có một số cách tiếp cận khác để làm như vậy. Cookie để bắt đầu.

+0

Tôi sẽ không truy cập vào IP, Như bạn đã nói, tôi chỉ cần xác định duy nhất ứng dụng khách của tôi. bạn có thể ném thêm một chút ánh sáng vào phương pháp tiếp cận cookie không? –

+0

http://www.w3schools.com/js/js_cookies.asp Chỉ cần thêm nội dung nào đó duy nhất cho trang của bạn – Marsha

1

Địa chỉ IP nội bộ thực tế không có giá trị. Mỗi mạng gia đình có máy tính với địa chỉ 192.168.0.2. Nó sẽ giúp bạn biết địa chỉ này?

Xem thêm giải thích chi tiết here.

Đây là liên kết để xem Mac Address

+0

Tôi không nhất thiết cần một IP. Tôi thích Mac Address nếu có thể. Có cách nào để lấy địa chỉ Mac của máy khách thực sự đằng sau tường lửa không? –

+0

http://stackoverflow.com/questions/10277440/getting-the-mac-address-of-a-client-with-a-browser – Alex

Các vấn đề liên quan