CGI :: Remote_Addr - Versi yang Ditingkatkan dari CGI.PM "Remote_Addr ()"
use CGI;
use CGI::remote_addr;
my $cgi = CGI -> new();
my $addr = $cgi -> remote_addr(); CGI::remote_addr mengimplementasikan versi yang ditingkatkan dari metode remote_addr() yang disediakan oleh CGI.pm , yang berupaya mengembalikan alamat IP asli yang berasal dari koneksi (yang belum tentu alamat IP yang kami terima koneksi dari).
Cukup memuat CGI::remote_addr menyebabkannya terlalu menunggang metode remote_addr() yang ada. Namun, perhatikan bahwa ini adalah over-ride global; Jika Anda berjalan di bawah mod_perl, Anda baru saja ditunggangi untuk semua aplikasi Anda.
$ENV{REMOTE_ADDR} untuk menemukan alamat IP, tetapi juga melihat di $ENV{HTTP_X_FORWARDED_FOR} untuk menemukan alamat IP. Jika $ENV{HTTP_X_FORWARDED_FOR} didefinisikan, kami mencobanya terlebih dahulu.$ENV{REMOTE_ADDR} atau $ENV{HTTP_X_FORWARDED_FOR} . Saya telah melihat banyak kasus di mana nilai -nilai untuk $ENV{HTTP_X_FORWARDED_FOR} diisi dengan sampah, dan kami memastikan bahwa Anda hanya mendapatkan IP sungguhan.undef , bukan 127.0.0.1 (seperti CGI.pm ).remote_addr ()
Mengembalikan alamat IP dari host jarak jauh.
Graham Termarsch ([email protected])
Hak Cipta (C) 2008 Graham Termarsch. Semua hak dilindungi undang -undang.
Perpustakaan ini adalah perangkat lunak gratis; Anda dapat mendistribusikannya kembali dan/atau memodifikasinya dengan persyaratan yang sama dengan Perl itu sendiri.