26 lines
572 B
Perl
26 lines
572 B
Perl
package My::parser::localcheck;
|
|
use strict;
|
|
use warnings;
|
|
|
|
sub new {
|
|
my $class = shift;
|
|
my $self = {};
|
|
bless ($self, $class);
|
|
return $self;
|
|
}
|
|
|
|
sub islocal {
|
|
my $self = shift;
|
|
my $host = shift;
|
|
#SSL Labs - 64.41.200.0/24
|
|
my @local_nets = ('127\.','10\.','192\.168\.','172\.((1[6-9])|(2[0-9])|(3[0-1]))\.','64\.41\.200\.', '213.236.200.10','18.200.56.156'); # array of regexes matching networks considered local and to be ignored
|
|
my $local = 0;
|
|
foreach my $test(@local_nets) {
|
|
$local = 1 if($host =~ m/^$test/);
|
|
last if $local;
|
|
}
|
|
return $local;
|
|
}
|
|
|
|
return 1;
|