MATSUNO★Tokuhiro > HTTP-MobileAttribute-0.19_02 > HTTP::MobileAttribute::Plugin::CIDR

Download:
HTTP-MobileAttribute-0.19_02.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Source   Latest Release: HTTP-MobileAttribute-0.21

NAME ^

HTTP::MobileAttribute::Plugin::CIDR - キャリヤのCIDRの含まれるIPアドレスかを調べる

DESCRIPTION ^

    use HTTP::MobileAttribute plugins => [ {
        module => 'CIDR',
        config => {
            cidr => 'net-cidr-mobile-jp.yaml',
        }
    }];

    my $hma = HTTP::MobileAttribute->new($ua)
    if ($hma->isa_cidr('222.7.56.248')) {
        # キャリヤの CIDR に含まれたIPアドレスだよ
    }

例えば運用中のアプリケーションを止めずにCIDRの定義を reload することができる。

    $hma->reload_cidr('new-cidr.yaml');

DESCRIPTION ^

'isa_cidr'メソッドに調べたいIPアドレスを引数として呼ぶと、Net::CIDR::MobileJPを使って、キャリヤの CIDR に含まれるIPアドレスかが分かります。

各キャリヤの CIDR 情報はマシンリーダブルな形式では提供されていないのでNet::CIDR::MobileJPに付属するnet-cidr-mobilejp-scraper.plを用いて各キャリアの CIDR 情報をまとめた YAML ファイルを作る必要があります。

TODO ^

isa_cidrに引数を与えなくても判別できるようにしたいが、Catalystなどの場合だと $c->req->headers の中に REMOTE_ADDR が入らないケースがあるので、どうしようか考え中。

AUTHORS ^

Kazuhiro Osawa

SEE ALSO ^

HTTP::MobileAttribute, Net::CIDR::MobileJP