tag:forum.selfhtml.org,2005:/selfaktuelle url auslesen – SELFHTML-Forum2007-12-02T07:37:58Zhttps://forum.selfhtml.org/self/2007/dec/1/aktuelle-url-auslesen/1186698#m1186698dobraoffice@woll-insel.at2007-12-01T05:36:19Z2007-12-01T05:36:19Zaktuelle url auslesen<p>Hallo,</p>
<p>Habe ein kleines Problem mit versehentlich (unwissentlich) weitergegebenen Session-IDs.</p>
<p>Bei meiner Shop-Software wird die Session-ID mit der url übergeben.<br>
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.</p>
<p>Die Seiten werden normalerweise mit url?showSeitennummer,Session-ID aufgerufen.<br>
(schaut in der HTML Vorlage z.B. so aus __xxpath__?show1200004810,__xxsession__ )<br>
Mit url?logoffshowSeitennummer,Session-ID erreicht man die selbe Seite, ist aber AUSGELOGGT!</p>
<p>Meine Idee ist eine Abfrage, ob die Seite von meiner Adresse aus aufgerufen wurde:</p>
<p><!--spmacro:module(session)<br>
sub test {<br>
my $out;<br>
if ((! defined $ENV{HTTP_REFERER}) or ($ENV{HTTP_REFERER} !~ /.meine Adresse)) {<br>
my $out = qq | <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=http://Adresse mit logoffshow statt show"> |;<br>
}<br>
main::mprint print $out;<br>
}<br>
--></p>
<p>Gibt es eine Möglichkeit mit Perl in der URL das "show" geben "logoffshow" auszutauschen?</p>
<p>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>
<p>P.S.: mein Shop Support hat mit versprochen, daß sie sich diese Problematik bei der nächsten Version nochmal genauer ansehen werden.<br>
So lange möchte ich aber nicht warten...</p>
<p>Kann mir jemand helfen?</p>
<p>Vielen Dank im Voraus<br>
dobra</p>
https://forum.selfhtml.org/self/2007/dec/1/aktuelle-url-auslesen/1186701#m1186701Alexander (HH)2007-12-01T10:27:12Z2007-12-01T10:27:12Zaktuelle url auslesen<p>Moin Moin!</p>
<p>Du versuchst, dich auf den REFERER-Header zu verlassen, der notorisch unzuverlässig ist.</p>
<p>Speichere die Session-ID nicht in der URL, sondern in einem Cookie. So erhälst Du weitergebbare URLs, ohne Sessions versehentlich zu teilen.</p>
<p>Speichere in der Session die IP-Adresse der Gegenseite und ggf. die Browser-Kennung (REMOTE_ADDR und USER_AGENT), wenn die nicht übereinstimmen, verwerfe die Session. -- Kleiner Haken: Einige Provider routen Requests über verschiedene Proxies, so dass sich die REMOTE_ADDR von Request zu Request ändert. Lästig, aber nicht vermeidbar. Der HEader X_FORWARDED_FOR könnte in dem Fall helfen.</p>
<p>Alexander</p>
<div class="signature">-- <br>
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
</div>
https://forum.selfhtml.org/self/2007/dec/1/aktuelle-url-auslesen/1186699#m1186699Patrick Andrieuhttp://www.atomic-eggs.com/cwi/cwi_4.shtml2007-12-01T10:38:01Z2007-12-01T10:38:01Zaktuelle url auslesen<p>Hallo dobra!</p>
<blockquote>
<p><!--spmacro:module(session)<br>
sub test {<br>
my $out;<br>
if ((! defined $ENV{HTTP_REFERER}) or ($ENV{HTTP_REFERER} !~ /.meine Adresse)) {<br>
my $out = qq | ... |</p>
</blockquote>
<p>^^</p>
<p>»my« gehört hier nicht hin, die Deklaration hast Du schon weiter oben gemacht.<br>
»|« als Delimiter für qq, qw, etc... würde ich vermeiden, da es für Pipes bei Programmaufrufen gebraucht wird, z.Beispiel open (MAIL, "|$MailProg ...") oder als »oder« in Regulären Ausdrucken $str =~ s/(foo|bar)/buz/g;</p>
<blockquote>
<p>Gibt es eine Möglichkeit mit Perl in der URL das "show" geben "logoffshow" auszutauschen?</p>
</blockquote>
<p>Reguläre Ausdrucke war eben das Stichwort:</p>
<p>my $out = "url?show...........";<br>
$out =~ s/show/logoffshow/;</p>
<p>Viele Grüße aus Frankfurt/Main,<br>
Patrick</p>
<div class="signature">-- <br>
<img src="http://www.atomic-eggs.com/fuernA.jpg" alt="" loading="lazy"><br>
_ - jenseits vom delirium - _<br>
[<a href="http://www.atomic-eggs.com/" rel="nofollow noopener noreferrer">link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash</a>]<br>
Nichts ist unmöglich? <a href="http://www.atomic-eggs.com/cwi/cwi_4.shtml" rel="nofollow noopener noreferrer">Doch!</a><br>
Heute schon ge<a href="http://goek.atomic-eggs.com/goek_goek.html" rel="nofollow noopener noreferrer">gök</a>t?
</div>
https://forum.selfhtml.org/self/2007/dec/1/aktuelle-url-auslesen/1186700#m1186700dobraoffice@woll-insel.at2007-12-02T07:37:58Z2007-12-02T07:37:58Zaktuelle url auslesen<blockquote>
<p>Reguläre Ausdrucke war eben das Stichwort:</p>
<p>my $out = "url?show...........";<br>
$out =~ s/show/logoffshow/;</p>
</blockquote>
<p>Danke !<br>
das funktioniert mal als "erste Notlösung" bis etwas besseres von der Shop-Software kommt</p>
<p>mfG aus Wien<br>
dobra</p>
https://forum.selfhtml.org/self/2007/dec/1/aktuelle-url-auslesen/1186702#m1186702dobraoffice@woll-insel.at2007-12-02T07:31:10Z2007-12-02T07:31:10Zaktuelle url auslesen<blockquote>
<p>Speichere die Session-ID nicht in der URL, sondern in einem Cookie.</p>
</blockquote>
<p>Das kann ich leider nicht machen - in die Shop-Software kann ich nicht direkt eingreifen - nur mit Subroutinen eingreifen...</p>
<blockquote>
<p>Speichere in der Session die IP-Adresse der Gegenseite und ggf. die Browser-Kennung (REMOTE_ADDR und USER_AGENT), wenn die nicht übereinstimmen, verwerfe die Session. -- Kleiner Haken: Einige Provider routen Requests über verschiedene Proxies, so dass sich die REMOTE_ADDR von Request zu Request ändert. Lästig, aber nicht vermeidbar. Der HEader X_FORWARDED_FOR könnte in dem Fall helfen.</p>
</blockquote>
<p>Diesen Lösungsansatz habe ich wieder verworfen, da AOL-Kunden dann nicht mehr bestellen können.</p>