dobra: aktuelle url auslesen

Beitrag lesen

Hallo,

Habe ein kleines Problem mit versehentlich (unwissentlich) weitergegebenen Session-IDs.

Bei meiner Shop-Software wird die Session-ID mit der url übergeben.
Das Problem: wenn ein eingeloggter Kunde einen Link mit seiner Session ID weitergibt (z.B. in einem Forum postet) und ein anderer klickt innerhalb der Timeoutzeit auf diesen Link, ist er als Kunde 1 eingeloggt und kann seine Daten einsehen und auch ändern.

Die Seiten werden normalerweise mit url?showSeitennummer,Session-ID aufgerufen.
(schaut in der HTML Vorlage z.B. so aus __xxpath__?show1200004810,__xxsession__ )
Mit url?logoffshowSeitennummer,Session-ID erreicht man die selbe Seite, ist aber AUSGELOGGT!

Meine Idee ist eine Abfrage, ob die Seite von meiner Adresse aus aufgerufen wurde:

<!--spmacro:module(session)
sub test {
  my $out;
              if ((! defined $ENV{HTTP_REFERER}) or ($ENV{HTTP_REFERER} !~ /.meine Adresse)) {
                   my $out = qq | <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=http://Adresse mit logoffshow statt show"> |;
              }
     main::mprint print $out;
 }
 -->

Gibt es eine Möglichkeit mit Perl in der URL das "show" geben "logoffshow" auszutauschen?

Ich weiß schon, daß die $ENV{HTTP_REFERER} Abfrage nicht 100% sicher funktioniert, würde das Risiko das Kundendaten versehentlich einsehbar gemacht werden aber doch sicher sehr minimieren.

P.S.: mein Shop Support hat mit versprochen, daß sie sich diese Problematik bei der nächsten Version nochmal genauer ansehen werden.
So lange möchte ich aber nicht warten...

Kann mir jemand helfen?

Vielen Dank im Voraus
dobra