CGI-AppBuilder-Security
view release on metacpan or search on metacpan
Security.pm view on Meta::CPAN
package CGI::AppBuilder::Security;
# Perl standard modules
use strict;
use warnings;
use Getopt::Std;
use POSIX qw(strftime);
use Carp;
use CGI ':standard';
use CGI::Cookie;
use CGI::AppBuilder;
use CGI::AppBuilder::Message qw(:echo_msg);
our $VERSION = 0.12;
require Exporter;
our @ISA = qw(Exporter CGI::AppBuilder);
our @EXPORT = qw();
our @EXPORT_OK = qw(access_ok get_cookies set_cookies
);
our %EXPORT_TAGS = (
Security.pm view on Meta::CPAN
This method retrieves and parses cookies set by previous process and
returns them in a hash array reference.
=cut
sub get_cookies {
my $s = shift;
my ($q, $ar) = @_;
# retrieve cookies
# my %cookies = fetch CGI::Cookie;
my %cookies = CGI::Cookie->fetch;
$s->disp_param(\%cookies);
my %cks = (); # parsed cookies
foreach my $k (sort keys %cookies) {
foreach my $rec (split /;/, $cookies{$k}) {
my ($k1, $v1) = split /=/, $rec;
$cks{$k}{$k1} = $v1;
}
}
$s->disp_param(\%cks) if exists $ar->{v} && $ar->{v};
Security.pm view on Meta::CPAN
my $ss = substr($v,14,2);
$v = timelocal($ss,$mm,$hh,$dd,$mn,$yr);
}
$v = $cr->{$k1} if !$v && exists $cr->{$k1};
$kv->{$k1} = $v;
push @$ck, $q->cookie(-name=>$k1,-value=>$v,-domain=>$dn,
-expires=>'+3M');
}
$ar->{_cookie} = $ck;
# print header(-cookie=>$ck);
# for my $i (0..$#$ck) { my $c = $ck->[$i]; print "Set-Cookie: $c\n"; }
# print "Content-Type: text/html\n\n";
# $s->echo_msg($kv, 3);
# $s->echo_msg($ck, 0);
# my $c2 = $s->get_cookies($q, $ar);
# $s->echo_msg($c2, 0);
return 0 if !$kv->{ckUID} || !$kv->{ckPWD};
return 1;
}
( run in 0.535 second using v1.01-cache-2.11-cpan-e9199f4ba4c )