Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: How to make a secure website

by EvdB (Deacon)
on Jul 07, 2004 at 09:53 UTC ( #372332=note: print w/replies, xml ) Need Help??

in reply to How to make a secure website

I recently asked a similar question and the answers there are very good.

In summary you want to put something meaningless but unique into the cookie (ie a long random number). This is then used to look up the session related data in the database:

my $cookie = $cgi->cookie('session_token'); # $cookie is '9874354683216735468453121845168441'; if ( $cookie && $cookie =~ m/some match/ ) { my ($session_id) = $dbh->selectrow_array ("select id from sessions where token = ?", undef, $cookie ); }
It is the actual presence of the cookie that is used as an indicator that the user is logged in, as well as getting a session_id from the database. All this said the only real way to secure the website is to run it over https as otherwise cookies can be intercepted and used in replay attacks.

--tidiness is the memory loss of environmental mnemonics

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://372332]
[Corion]: I wait for the day when DateTime uses Moose ;)
[TCLion]: finaly finished the install wow that was over 10 min
[1nickt]: Corion using Moose will hardly reduce the number of dependencies or time to install DT !
[davido]: That's like wishing that your motorcycle came with a sherman tank as a trailer.
[Corion]: davido: No, more like my one sherman tank had a second sherman tank tied to its back ;)

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (8)
As of 2017-03-23 15:29 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (289 votes). Check out past polls.