I need to store a login session when the user is login and remove the login session when the user has logged out of the system or the session has timeout. I am coding in Perl. I know I can use CGI::Session module in Perl but how do I make sure that the session is created by 1 cgi script and removed by another cgi script. Then all other pages of the system has to check if the session exist before it can display its contents.
Currently, I am using the following code to create a new session when the user has login successfully.
my $session = CGI::Session->new();
my $CGISESSID = $session->id();
However, how do I log the user out of the session in another cgi script? I doubt I can just use the following since the $session is not defined in the other cgi script
$session->delete();
$session->flush();
Any ideas?
CGI::Sessions are independent of script by default. So you should be able to do just that.
Just don’t forget to persist the session ID on the client in some way. It can be done with a cookie, see session
header()for example. The ID and the session object will be retrieved automatically (if saved properly).See
CGI::Session new()and
CGI::Session::Driver::file.You can configure them to use the store and settings that you prefer.
Basic example CGI script using sessions: