CGI remote_addr
1.0.0
cgi :: remote_addr- cgi.pmの "remote_addr()"の拡張バージョン
use CGI;
use CGI::remote_addr;
my $cgi = CGI -> new();
my $addr = $cgi -> remote_addr();CGI::remote_addr 、 CGI.pmによって提供されるremote_addr()メソッドの拡張バージョンを実装します。これは、接続が発信された元のIPアドレスを返しようとします(必ずしも接続を受信したIPアドレスではありません)。
CGI::remote_addrをロードするだけで、既存のremote_addr()メソッドをオーバーライドします。ただし、これはグローバルなオーバーライドであることに注意してください。 mod_perlの下で実行されている場合は、すべてのアプリケーションに対して無駄になりました。
$ENV{REMOTE_ADDR}だけでなく、IPアドレスを見つけるだけでなく、 $ENV{HTTP_X_FORWARDED_FOR}を調べてIPアドレスを見つけます。 $ENV{HTTP_X_FORWARDED_FOR}が定義されている場合、最初にそれを試みます。$ENV{REMOTE_ADDR}または$ENV{HTTP_X_FORWARDED_FOR}に存在するものに関係なく、有効なIPアドレスのみが返されます。 $ENV{HTTP_X_FORWARDED_FOR}の値にゴミが詰め込まれているケースがたくさんあり、実際のIPを取り戻すだけであることを確認しています。undefを返します( CGI.pmのように)。remote_addr()
リモートホストのIPアドレス(ES)を返します。
Graham Termarsch([email protected])
Copyright(c)2008 Graham Termarsch。無断転載を禁じます。
このライブラリはフリーソフトウェアです。 Perl自体と同じ条件で再配布したり、変更したりできます。