Thread Script setzt keine Cookies mehr: nach Server Update
(11 answers)
Opened by
Gast
at 2003-12-09 18:16
User since 2003-12-09
6
Artikel
BenutzerIn
ich kann mal versuchen die richtigen schnipsel raus zu suchen.. leider ist das ganze eben etwas unübersichtlich:
aalso: aufgerufen wird in der login subroutine:
&setcookie('sessionid',$user{'sessionid'},0,'.global-market.ch','/');
folgende Subroutine:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
sub setcookie { my($ky,$vl,$expires,$domain,$path) = @_; my @days = ("Sun","Mon","Tue","Wed","Thu","Fri","Sat"); my @months = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$expires=1800000000 if (! defined $expires); #15.1.2027 $expires=1800000000 if ($expires<0); $domain = $ENV{'SERVER_NAME'} if (! defined $domain); $path = "/" if (! defined $path);
if ($expires==0) { $expires=''; } else { my($seconds,$min,$hour,$mday,$mon,$year,$wday) = gmtime($expires); $seconds = "0" . $seconds if ($seconds < 10); $min = "0" . $min if ($min < 10); $hour = "0" . $hour if ($hour < 10); $year += 1900; $expires = "expires=$days[$wday], $mday-$months[$mon]-$year $hour:$min:$seconds GMT; "; }
$vl =~ s/ /+/g; print "Set-Cookie: $ky=$vl; $expires path=$path; domain=$domain;\n"; }
Folgende Sub sollte (wenn ich mich nicht irre) wieder irgendwelche Cookies rauslesen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
sub checksession { my %cookie=(); foreach (split(/; /, $ENV{'HTTP_COOKIE'})) { $_=~s/\+/ /g; my ($chip, $val) = split(/=/,$_,2); $chip =~ s/%([A-Fa-f0-9]{2})/pack('c',hex($1))/ge; $val =~ s/%([A-Fa-f0-9]{2})/pack('c',hex($1))/ge; $cookie{$chip} = $val; }
my $sessionid=''; $sessionid=$cookie{'sessionid'} if (exists $cookie{'sessionid'}); if ($sessionid ne '') { $sth=$db->prepare("SELECT * FROM user,access WHERE sessionid=\"$sessionid\" AND user.rubrik=access.rubrik AND stat=1"); $sth->execute; if ($rw=$sth->fetchrow_hashref) { %user=%$rw; $sth->finish; return; } $sth->finish; } $sth=$db->prepare("SELECT * FROM user,access WHERE username=\"\" AND user.rubrik=access.rubrik AND stat=1"); $sth->execute; if ($rw=$sth->fetchrow_hashref) { %user=%$rw; } else { %user=('username'=>''); } $sth->finish; }
schon mal vielen dank für die hilfe
zork
View full thread Script setzt keine Cookies mehr: nach Server Update
|