#!/usr/bin/perl ### Setup environment use CGI; use CGI::Carp qw(fatalsToBrowser); use CGI::Session; use CGI::Session qw/-ip-match/; use DBI; use strict; use warnings; $CGI::POST_MAX = 1024 * 1024 * 10; # max 10MB posts $CGI::DISABLE_UPLOADS = 1; # no uploads ######################################################### ### Setup variables my $title = "Template with Login"; my $error_message = ""; my $html = ""; ######################################################### ### Setup variables my $dbfile = "/inetpub/wwwroot/data/people1.db"; my $dsn = "dbi:SQLite:dbname=$dbfile"; my $user = ""; my $password = ""; my $dbh = DBI->connect($dsn, $user, $password, { PrintError => 0, RaiseError => 1, AutoCommit => 1, FetchHashKeyName => 'NAME_lc', }); ### Setup session data connection my $cgi = new CGI; my $session = CGI::Session->new("driver:sqlite", undef,{DataSource=>'/inetpub/wwwroot/data/session_management.db'}) or die (CGI::Session->errstr); my $cookie = $cgi->cookie(CGISESSID => $session->id ); print $cgi->header(-cookie=>$cookie); $session->flush(); ### Grab SID and determine session_status my $sid = $session->id(); my $session_status = "false"; $session_status = $session->param("user_logged_in"); ### Initialize my $x = init($session, $cgi); my $login_trials_count = $session->param("~login-trials"); sub init { my ($session, $cgi) = @_; if ( $session->param("~logged-in") ) { return 1; # Verify if user is not logged. } my $trials = $session->param("~login-trials") || 0; return $session->param("~login-trials", ++$trials); } ############################################### my $profile_lg_name = ""; my @fail_message = ""; ######################################################### ### Fetch info from session profile if ($session_status eq 'true') { $profile_lg_name = $session->param("profile_lg_name"); login_is_ok(); } else { push @fail_message, "Not logged in. Err 200"; login_is_not_ok(); } ######################################################### ### Print HTML document sub login_is_ok { ### The following sets up CGI. $CGI::POST_MAX = 1024 * 1024 * 10; # max 10MB posts $CGI::DISABLE_UPLOADS = 1; # no uploads my $q = CGI->new; my $entry_type = ''; $entry_type = $q->param('entry_type') || 0; $html = "