Schrift
[thread]6629[/thread]

session-handling: wo ist die SID??

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Gast Gast
 2005-01-14 18:28
#50756 #50756
Ich möchte auf meiner Seite einen Adminbereich einrichten.
Dazu benutze ich cgi:session.
Alles gut soweit.
Ich will keine cookies benutzen.
Das heisst ich muss die SessionID an jeden link anhängen um sie nicht zu verlieren.
Das ist sehr umständlich und die SID steht in der URL. Das finde ich auch nicht schön.
Jetzt zu meiner Frage.
Wie wird das auf der Seite notebookbilliger gemacht ????
Ich verstehe es nicht. Ich glaub ich bin doof! :-(
Ich habe Cookies deaktiviert und alle alten gelöscht.
Das heisst mit cookies alleine arbeitet die Seite nicht. In der URL oder als hidden-Variable steht sie auch nicht. Habe den quelltext durchsucht. Habe keine ID gefunden.
Das ist eine sehr schöne Lösung.

Kann mir jemand sagen wie die das machen ???

Danke
sri
 2005-01-14 18:48
#50757 #50757
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Umm, die benutzen Cookies und URL!

Ausserdem kannst du ganz einfach mit URI::Find automatisch alle deine urls mit sessionid umschreiben lassen.

Schau dir Catalyst::Plugin::Session::FastMmap an wenn du ein Beispiel brauchst.

Catalyst benutzt uebrigens folgendes format, was ich viel schoener als im QUERY_STRING finde. ;)
http://localhost/index.html/-/c99509cca173de414e80b9fa680a456b\n\n

<!--EDIT|sri|1105729745-->
Ingo
 2005-01-14 20:29
#50758 #50758
User since
2005-01-14
3 Artikel
BenutzerIn
[Homepage] [default_avatar]
Also noch mal.
Mag ja sein dass ich es nicht kapiere.
Ich habe cookies deaktiviert.
Das heisst das cookie kommn nicht auf meine Kiste.

Das heisst es muss sich irgendwo eine sessionID verstecken.
Ich habe ein paar sachen in den einkaufswagen gelegt.
gehe dann in den warenkorb. Alles drin.
Wenn ich jetzt auf eine andere beliebige seite gehe muss mir doch der webserver in irgendeiner weise meine sessionid schicken die ich dann wieder zu ihm schicke dass er dann wieder weiß wer ich bin und was in meinen Einkaufswagen ist.

Wenn ich das dann des weiteren kapiert habe kann ich alle meine Links anstatt normal
http://localhost/index.html?SID=c99509cca173de414e80b9fa680a456b  auch so schreiben
http://localhost/index.html/-/c99509cca173de414e80b9fa680a456b

Das habe ich heute auch gesehen und stimme dir zu dass das sehr schick ist da man dann die SID nicht in der URL sieht und daher das copy und paste-problem der URL behebt.

Aber meine Frage bleibt. Wenn es so gemacht wurde müsste doch im quellcode jeder link die SID mitführen.
Wenn man sich den Quelltext anschaut steht hinter keinem Link eine SID.
z.B. der Link oben auf die Notebooks  
Code: (dl )
<a href="http://www.notebooksbilliger.de/index.php/notebooks"><img src="images/gfx/nav1/notebooks.jpg" border="0" alt="Notebooks" title=" Notebooks "></a>

Wenn ich auf diesen Link klicke müsste doch alles weg sein??
Cookies sind aus!!

Auf welche weise schickt diese Seite eine SID zurück
esskar
 2005-01-14 20:30
#50759 #50759
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
außerdem packen die doch die sid in die URL: http://www.notebooksbilliger.de/shoppin....c385094

???

ich mach das übrigens immer so
Dubu
 2005-01-14 21:42
#50760 #50760
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Also, ich habe bei mir auch Cookies deaktiviert und die o.g. Website aufgerufen. Da landet eine SID in der URL, und die wird auch bei fast allen Links weitergegeben. Bei den Links, bei denen das nicht der Fall ist (wie z.B. der von Ingo genannte Link zur Homepage), geht die SID verloren und damit auch z.B. der Inhalt des Warenkorbs. Einwandfrei buggy: Entweder sollte die Seite darauf hinweisen, dass Cookies erforderlich sind oder durchgaengig die SID weitergeben. So ist es jedenfalls nicht brauchbar.\n\n

<!--EDIT|Dubu|1105731784-->
cocko
 2005-01-15 01:33
#50761 #50761
User since
2005-01-10
18 Artikel
BenutzerIn
[default_avatar]
Wie wäre es die SID so in die URL zu packen, als wäre es ein "Pfad". Per mod_rewrite kann man dann die URL umschreiben lassen.

Code: (dl )
RewriteRule /(\d[^\/]*)/(.*)$ /$2?sid=$1 [QSA, PT]


Man muss nun eben relative Links setzen.
Dubu
 2005-01-16 17:22
#50762 #50762
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ja, wie sri schon gezeigt hat (am Beispiel Catalyst).

Uebrigens braucht man dafuer nicht unbedingt mod_rewrite, da die SID ja dann in $ENV{PATH_INFO} zu finden ist.
pq
 2005-01-16 19:57
#50763 #50763
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
dubu: bei cockos beispiel nicht. da sind die urls nach dem
schema /1234567/cgi-bin/script.pl?... aufgebaut; dafür braucht man mod_rewrite.
mann kann jedoch die rule vereinfachen:
RewriteRule /(\d[^\/]*)/(.*)$ /$2 [QSA, PT]
in etwa. die sessionid lässt sich im script trotzdem noch auslesen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
cbxk1xg
 2005-01-16 20:06
#50764 #50764
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Wofür brauchst Du denn die Session? Willst Du nur einen Login damit basteln, oder soll da auch was gespeichert werden? Also z.B. ein Warenkorb?
Ingo
 2005-01-16 21:48
#50765 #50765
User since
2005-01-14
3 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ja ich brauche es für einen Adminbereich. Ich glaube ich habs jetzt. Danke euch allen. Hier die Seite
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2005-01-14 18:28.