Thread [CGI::Session] Prüfen ob einzelner gespeicherter Parameter abgelaufen (18 answers)
Opened by GwenDragon at 2024-05-02 17:04

Linuxer
 2024-05-03 08:00
#196076 #196076
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
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 CPAN: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!

View full thread [CGI::Session] Prüfen ob einzelner gespeicherter Parameter abgelaufen