Rails: Nhận địa chỉ IP của khách hàng


172

Trong Rails, cách tốt nhất để có được địa chỉ IP của máy khách kết nối với máy chủ là gì?

Đây là hai cách tôi đã tìm thấy:

request.remote_ip
request.env['HTTP_X_REAL_IP']

Câu trả lời:



44

request.remote_iplà một giải thích của tất cả các thông tin địa chỉ IP có sẵn và nó sẽ đưa ra dự đoán tốt nhất. Nếu bạn truy cập trực tiếp vào các biến, bạn có trách nhiệm kiểm tra chúng theo thứ tự ưu tiên chính xác. Proxy giới thiệu một số tiêu đề tạo các biến môi trường với các tên khác nhau.



2

Tôi thấy request.env['HTTP_X_FORWARDED_FOR']rất hữu ích trong trường hợp khi request.remote_iptrở về127.0.0.1


0

Đối với bất kỳ ai quan tâm và sử dụng đường ray mới hơn và tùy chọn "có thể theo dõi" của Devise bao gồm một cột cho current / last_sign_in_ip trong bảng người dùng.

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.