Di Rails, apa cara terbaik untuk mendapatkan alamat ip dari klien yang terhubung ke server?
Berikut adalah dua cara yang saya temukan:
request.remote_ip
request.env['HTTP_X_REAL_IP']
sumber
Di Rails, apa cara terbaik untuk mendapatkan alamat ip dari klien yang terhubung ke server?
Berikut adalah dua cara yang saya temukan:
request.remote_ip
request.env['HTTP_X_REAL_IP']
Saya hanya akan menggunakan request.remote_ip
yang sederhana dan berhasil. Adakah alasan Anda membutuhkan metode lain?
Lihat: Dapatkan alamat IP asli di lingkungan pengembangan Rails lokal untuk beberapa hal lain yang dapat Anda lakukan dengan ip server klien.
request.remote_ip
adalah interpretasi dari semua informasi alamat IP yang tersedia dan itu akan menjadi tebakan terbaik. Jika Anda mengakses variabel secara langsung, Anda bertanggung jawab untuk mengujinya dalam urutan prioritas yang benar. Proxy memperkenalkan sejumlah header yang membuat variabel lingkungan dengan nama yang berbeda.
Dapatkan ip klien menggunakan perintah:
request.remote_ip
Saya menemukan request.env['HTTP_X_FORWARDED_FOR']
sangat berguna juga dalam kasus ketika request.remote_ip
kembali127.0.0.1
Bagi siapa pun yang tertarik dan menggunakan rel yang lebih baru dan permata Rancangan: Opsi "dapat dilacak" Devise menyertakan kolom untuk current / last_sign_in_ip di tabel pengguna.