Thread [CGI::Session] Prüfen ob einzelner gespeicherter Parameter abgelaufen
(18 answers)
Opened by GwenDragon at 2024-05-02 17:04
expire($token_name, $time) speichert das ja in einer Hash-Struktur unter _SESSION_EXPIRE_LIST:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 # If we get this far, we expect expire($param,$time) # ( This would be a great use of a Perl6 multi sub! ) else { my ($param, $time) = @_; if ( ($time =~ m/^\d$/) && ($time == 0) ) { delete $self->{_DATA}->{_SESSION_EXPIRE_LIST}->{ $param }; $self->_set_status( STATUS_MODIFIED ); } else { $self->{_DATA}->{_SESSION_EXPIRE_LIST}->{ $param } = $self->_str2seconds( $time ); $self->_set_status( STATUS_MODIFIED ); } } Darauf aufbauender Gedanke: Mensch könnte nun CGI::Session um eine Methode erweitern, die den Tokennamen entgegennimmt und die gespeicherte Zeit zurückliefert. Code (perl): (dl
)
1 2 3 4 5 sub CGI::Session::get_token_expiry() { my ( $self, $param ) = @_; # maybe more checks to protect against auto-vivification return $self->{_DATA}->{_SESSION_EXPIRE_LIST}->{$param}; } meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |