print $cgi->header(-cache_control=>"no-cache, no-store, must-revalidate"), # create the HTTP header $cgi->start_html(-title=>"$title", -author=>'webmaster at digioso.org', -meta=>{long list of meta information here........., -style=>{'src'=>'http://www.digioso.org/style.css'}); # start the HTML #### #!/usr/bin/perl -w use warnings; use strict; use CGI; use CGI::Carp qw/fatalsToBrowser warningsToBrowser/; use Digest::MD5 qw(md5_base64); use CGI::Session; use lib ""; use Navi; use DB; my $cgi = CGI->new(); my $dbh = DB::connect_db(); my $usr = $cgi->param('usr'); my $pwd = $cgi->param('pwd'); if($usr ne '') { my $encrpass = md5_base64($pwd); my $sql = qq{SELECT id FROM consystem_users WHERE username=? and password=?}; my $sth = $dbh->prepare($sql) or die $dbh->errstr; $sth->execute($usr, $encrpass) or die $sth->errstr; my $userid = $sth->fetchrow_array; if($userid != "") { my $session = new CGI::Session(); $session->param("uid", $userid); $session->expire('+1h'); print $session->header(-location=>'index.pl'); } else { Navi::print_navi(": digioso :"); # Print Navigation print qq{
[ LOGIN ]
}; print "Username or password wrong !
Try again."; Navi->end_navi(); } } elsif($cgi->param('action') eq 'logout') { my $session = CGI::Session->load() or die CGI::Session->errstr; $session->delete(); print $session->header(-location=>'login.pl'); } elsif($cgi->param('action') ne 'login' && $usr eq "") { Navi::print_navi(": digioso :"); # Print Navigation print "

Please input username and password !"; print_login(); } else { Navi::print_navi(": digioso :"); # Print Navigation print_login(); } sub print_login() { print qq{

Username:
Password:


You don't have an account? Create one here.}; Navi->end_navi(); } DB::close_db(); exit 0; ##
## #!/usr/bin/perl -w use warnings; use strict; use lib ""; use CGI; use CGI::Carp qw/fatalsToBrowser warningsToBrowser/; use login_check; use Navi; my $cgi = CGI->new(); my $uid = login_check($cgi, ": Digiosos Con-System :"); if($uid > 0) { print qq{ $uid Test}; Navi->end_navi(); } exit 0; #### #!/usr/bin/perl -w use warnings; use strict; use lib ""; use Navi; use CGI::Carp qw/fatalsToBrowser warningsToBrowser/; use CGI::Session; sub login_check($$) { my $cgi = shift; my $title = shift; my $session = CGI::Session->load(); Navi::print_navi("$title", 1); # Print Navigation if($session->is_expired) { print qq{
[ LOGIN ]
}; print "Your has session expired. Please login again."; print "
Login "; Navi->end_navi(); return -1 } else { print qq{
[ CON-SYSTEM ]
}; print "Index-Page Change Password Logout

"; return $session->param("uid"); } } 1;