CGI::ACL
Decide whether to allow a client to run this script
VERSION
Version 0.03
SYNOPSIS
Does what it says on the tin.
use CGI::Lingua;
use CGI::ACL;
my $acl = CGI::ACL->new();
# ...
my $denied = $acl->all_denied(info => CGI::Lingua->new());
SUBROUTINES/METHODS
new
Creates a CGI::ACL object.
allow_ip
Give an IP (or CIDR) that we allow to connect to us
use CGI::ACL;
# Allow Google to connect to us
my $acl = CGI::ACL->new()->allow_ip(ip => '8.35.80.39');
deny_country
Give a country, or a reference to a list of countries, that we will not allow to access us
use CGI::ACL;
# Don't allow the UK to connect to us
my $acl = CGI::ACL->new()->deny_country('GB');
# Don't allow any countries to connect to us (a sort of 'default deny')
my $acl = CGI::ACL->new()->deny_country('*');
allow_country
Give a country, or a reference to a list of countries, that we will allow to access us
use CGI::ACL;
# Allow only the UK and US to connect to us
my @allow_list = ('GB', 'US');
my $acl = CGI::ACL->new()->deny_country->('*')->allow_country(country => \@allow_list);
all_denied
If any of the restrictions return false then return false, which should allow access
use CGI::Lingua;
use CGI::ACL;
# Allow Google to connect to us
my $acl = CGI::ACL->new()->allow_ip(ip => '8.35.80.39');
if($acl->all_denied()) {
print 'You are not allowed to view this site';
return;
}
$acl = CGI::ACL->new()->deny_country(country => 'br');
if($acl->all_denied(lingua => CGI::Lingua->new(supported => ['en']))) {
print 'Brazilians cannot view this site for now';
return;
}
AUTHOR
Nigel Horne, <njh at bandsman.co.uk>
BUGS
Please report any bugs or feature requests to bug-cgi-acl at rt.cpan.org,
or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CGI-ACL.
I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
SEE ALSO
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc CGI::ACL
You can also look for information at:
-
RT: CPAN's request tracker
-
CPAN Ratings
-
Search CPAN
LICENSE AND COPYRIGHT
Copyright 2017,2018 Nigel Horne.
This program is released under the following licence: GPL2