Tuesday, February 13, 2007

Login Session Use Cookie

#!/usr/bin/perl -w

use CGI qw/:standard/;
use strict;

my $h = CGI->new;

our $mode = param("mode") if (defined(param("mode")));

our $userlog = "";
our $pswdlog = "";
our $cexprd = "+5m";

if ($mode eq "login") {
if (defined(param("username")) && defined(param("password"))) {
$userlog = param("username");
$pswdlog = param("password");
}
else {
$userlog = "";
$pswdlog = "";
}
}
elsif ($mode eq "logout") {
$userlog = "";
$pswdlog = "";
$cexprd = "-1";
}
else {
$userlog = $h->cookie(-name=>'username') || "";
$pswdlog = $h->cookie(-name=>'password') || "";
}

our $cuserlog = $h->cookie( -name=>'username',
-value=>$userlog,
-expires=>$cexprd,
-path=>'/',
-domain=>'',
-secure=>0);
our $cpswdlog = $h->cookie( -name=>'password',
-value=>$pswdlog,
-expires=>$cexprd,
-path=>'/',
-domain=>'',
-secure=>0);

our $loginstatus = &isLogin($userlog,$pswdlog);

sub isLogin {
use Digest::SHA1 qw(sha1 sha1_hex sha1_base64);
my $username = "0004af1d29b20c565e608b40905f010f88b26004";
my $password = "a137e3c6315986e13d4ba3961f4fca07476e4b71";
my $status = 0;
if ($username eq sha1_hex($_[0]) && $password eq sha1_hex($_[1])) {
$status = 1;
}
return $status;
}

print header({type => "text/html", -cookie=>[$cuserlog,$cpswdlog]});

if ($loginstatus == 1) {
print "You are login now";
}
else {
print "You are logout now";
}

No comments: