#I've not posted use directives, HTML::Template variables declarations and et ceterea, because it doesn't actually matter in this case.
if (!$cookie{CGISESSID}{value}[0]) { #checkif there is a session cookie in user's browser.
print "Content-Type: text/html\n\n";
print $auth->output; # render form which would require enter login and password.
} else {
# render secret page
####
#!/usr/bin/perl
use CGI;
use HTML::Template;
use CGI::Cookie;
use strict;
use CGI::Session;
use lib ('../');
use MySite;
my $q = new CGI;
my %params = MySite::get_params($q);
my $login = "vu";
my $password = "Stella744";
my $t = HTML::Template->new(filename => '../templates/auth_success.tmpl');
my $t_err = HTML::Template->new(filename => '../templates/Auth_error.tmpl');
if ($ENV{REQUEST_METHOD} ne 'POST') {
print "Content-type: text/html\n\n";
print "Sorry. Don't do this.";
} else {
if (($params{login} eq $login) and ($params{password} eq $password)) {
my $session = CGI::Session->new() or die CGI::Session->errstr;
my $cookie = $q->cookie( -name => $session->name, -value => $session->id );
#print "Set-Cookie: $cookie\n";
print $session->header(-charset => 'utf-8');
print "Content-type: text/html\n\n", $t->output;
} else {
print "Content-type: text/html\n\n", $t_err->output;
}
}