Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]82[/thread]

wie übergebe ich sessionIDs



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
mannyk
 2003-10-29 17:40
#8324 #8324
User since
2003-10-29
3 Artikel
BenutzerIn
[default_avatar]
Hallo!
Weiter unten wurde zwar schon ein thema bezüglich Session IDs erstellt, doch dort konnte ich meine frage nicht beantworten.
Ich habe einfach das Problem mit der Weitergabe der SessionIDs.
Muss ich da in jeden Link die SessionID einbauen, damit sie nicht "verlorengeht"?
bin für jeglichen rat dankbar!
mfg,
manny
Geewiz
 2003-10-29 17:55
#8325 #8325
User since
2003-09-29
69 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=mannyk,29.10.2003, 16:40]Muss ich da in jeden Link die SessionID einbauen, damit sie nicht "verlorengeht"?[/quote]
Es gibt drei Möglichkeiten, Session IDs zwischen zwei HTTP-Requests zu bewahren:

1. Im GET-Request

Dazu musst du tatsächlich dafür sorgen, dass in jeder URL die SID mitübertragen wird. Ergibt unschöne URLs und ist umständlich, auch wenn es Möglichkeiten gibt, das etwas zu automatisieren.

2. In den POST-Daten

Das wird hauptsächlich bei Formularen verwendet. Die SID wird dazu als hidden field übertragen.

3. In Cookie ablegen

Die einfachste und daher verbreitetste Alternative. Die SID wird als Cookie beim User abgelegt und der schickt sie bei jedem Request wieder mit.

Wie immer empfehle ich zu diesem Thema CGI::Session und CGI::Session::Auth.
dominicn
 2003-10-29 19:07
#8326 #8326
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
[quote=Geewiz,29.10.2003, 16:55]
1. Im GET-Request
2. In den POST-Daten
3. In Cookie ablegen[/quote]
ich benutze immer die ersten beiden methoden da sie zu quasi jedem browser kompatibel sind. die dritte habe ich manchmal noch als zusatzoption um es zu ermoeglichen, in einem anderen fenster einfach die url einzugeben und dann muss man sich nicht neu einloggen oder fuer die weitergabe von links per email.\n\n

<!--EDIT|dominicn|1067447338-->
steffenw
 2003-10-29 21:21
#8327 #8327
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Machst Du es zu Fuß, sieht es etwa so aus:
HTML
[code]
...
<input type="hidden" name="sid" value="%sid%">
...
[code]
PERL
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
...
$sid = "aus Formulardaten empfangen";
...
$my $html;
{ local $/ = undef;
  open FILE, "< $htmlfilename" or die $!;
  $html = <FILE>;
  close FILE;
}
$html =~ s/%sid%/$sid/g;
print $html;
...
$SIG{USER} = sub {love 'Perl' or die};
mannyk
 2003-10-29 21:35
#8328 #8328
User since
2003-10-29
3 Artikel
BenutzerIn
[default_avatar]
hi!
danke für euren Rat! Ich werde es wahrscheinlich per Get-Request machen!
mfg,
manny
pktm
 2003-10-30 00:33
#8329 #8329
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Siehe dazu auch den Topic SessionImRequest im Wiki - da steht mit Code drin, wie man sowas realisieren kann.
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2003-10-30 00:57
#8330 #8330
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich benutze immer HTML::Template im zusammenhang mit sessions...
bzw. ich benutze immer HTML::Template im zusammenhang mit CGI.,.. aber egal...

die sessionid braucht im übrigen nicht lang zu sein...
ich berechne diese mesitens so:

Code: (dl )
1
2
3
4
5
6
7
8
use vars qw($idnum);

sub unique
{
my $remote_addr = sprintf '%02X%02X%02X%02X', (split /\./, $ENV{'REMOTE_ADDR'});
unless(++$idnum < 0x10000) { sleep 1; $idnum = 0; }
return sprintf '%012X.%s.%08X.%04X', time, $remote_addr, $$, $idnum;
}



dann lege ich eine datei mit dem namen an und speichere mir dort alle nötigen infos in der form
key = value

und schon sessioned es
pktm
 2003-10-30 12:30
#8331 #8331
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Das Problem ist nur, was machst du, wenn du mal 1000 Besucher oder einen verwirrten Spieder hast?
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2003-10-30 14:13
#8332 #8332
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pktm,30.10.2003, 11:30]Das Problem ist nur, was machst du, wenn du mal 1000 Besucher oder einen verwirrten Spieder hast?[/quote]
nix... wieso?
pktm
 2003-10-30 15:22
#8333 #8333
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Quote
dann lege ich eine datei mit dem namen an

Du hast dann tausende von Dateien.
http://www.intergastro-service.de (mein erstes CMS :) )
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2003-10-29 17:40.