Just a thought,
When I use this type of solution, the biggest problem for me is remembering to emit the sessionID and any other parameters I need to persist.
If you're using CGI.pm and you have it generate the forms, a real easy hack is to override the different forms subs to include them automatically for you.
######################################
sub persistant_fields {
my @fields = qw(username sessionID);
my $text = undef;
foreach (@fields){
$text.=input ({-name=>$_, -type=>'HIDDEN', -value=>param($_) }
+ )."\n" if param($_);
}
return $text;
}
######################################
sub form_ID{
input ({-name=>'formID', -type=>'HIDDEN', -value=>substr(md5_
+hex(time.$$.rand()), 0, 32) } )
}
######################################
sub start_form {
CGI::start_form(@_).form_ID().persistant_fields();
}
######################################
sub start_multipart_form {
CGI::start_multipart_form(@_).form_ID().persistant_fields();
}
-Lee
"To be civilized is to deny one's nature." |