Schrift
[thread]257[/thread]

cookies (Seite 2)



<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten
[E|B]
 2004-05-14 22:50
#2440 #2440
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Auch wenn es nicht schön ist und du CGI.pm verwenden solltest, poste ich doch mal einen kleinen Lösungsansatz:

Code: (dl )
1
2
3
4
foreach (split(/; /, $ENV{'HTTP_COOKIE'})) {
($c, $v) = split(/=/, $_);
if ($c eq "myname") { $myname = $v; }
}


Setzen tust du wie folgt::

Code: (dl )
print "Set-Cookie: myname=Erik; expires=Fri, 13-May-2005 19:11:03 GMT;\n";


Quick 'n dirty! :D\n\n

<!--EDIT|[E|B]|1084560800-->
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
jemand
 2004-05-14 23:04
#2441 #2441
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
danke euch allen
finds cool dass man schon kurz danach die antworten von euch bekommt
jetzt kann ich gleich weiterschreiben...:)
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
Strat
 2004-05-15 02:50
#2442 #2442
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[E|B
,14.05.2004, 20:50]
Code: (dl )
1
2
3
4
foreach (split(/; /, $ENV{'HTTP_COOKIE'})) {
($c, $v) = split(/=/, $_);
if ($c eq "myname") { $myname = $v; }
}

@E|B: wenn schon dirty, dann vernuenftig...

was passiert, wenn als wert im cookie ein nicht escaptes = vorkommt? In einem solchen Fall immer
Code: (dl )
my ($c, $v) = split(/=/, $_, 2);

verwenden, denn dann geht deshalb nichts verloren... ich glaube, das habe ich schon auf andere aehnliche postings von dir geschrieben...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
[E|B]
 2004-05-15 03:12
#2443 #2443
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@Strat

Nein, das war heute das erste mal.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
jemand
 2004-05-16 13:30
#2444 #2444
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
kann ich das cgiu-> starthtml und end_html auch durch normale ausgaben ersetzen oder ist das für den header wichtig
dass [e|b]'s code nicht geht hab ich mittlerweile auch gemerkt...
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
[E|B]
 2004-05-16 13:43
#2445 #2445
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@jemand

Der Code funktioniert!
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Strat
 2004-05-16 15:34
#2446 #2446
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ja, das kann man auch selbst machen, wobei man darauf achten muss, dass das setzen des cookies vor der Ausgabe des Content-types kommt (genau gesagt: vor der Leerzeile, die den HTTP-Header vom Content trennt), weil der browser sonst den cookie nicht als cookie erkennt. Und $cgi->start_html kuemmert sich sehr gut darum, dass du einen vollstaendigen HTTP-header bekommst, also warum es nicht dafuer verwenden?
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
jemand
 2004-05-16 15:36
#2447 #2447
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
sicher?
ich hab versucht an diversen stellen das mit dem print "set-Cookie..." auszugeben und nirgends hatz da dann den cookie gesetzt!
wo soll dass dann bitte ausgegeben werden???
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
Strat
 2004-05-16 15:42
#2448 #2448
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
irgendwo gibst du doch sowas wie
print "Content-type: text/html\n\n";
aus...
versuch mal
Code: (dl )
1
2
print "set-Cookie: ......\n";
print "Content-type: text/html\n\n";

wenn der cookie korrekt gesetzt ist, funktioniert es
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
jemand
 2004-05-16 16:03
#2449 #2449
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
aha danke
und was ist hier falsch???
da probiert man ewig und trozdem kommt nichts raus...
Code: (dl )
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
32
33
34
35
36
37
38
39
#!Perl -w
##zusatz

use CGI;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser); # fuer produktion dann deaktivieren

%cs = readk();
@ken = keys(%cs);
$ke = $ken[0];
$co = $cs{ $ke };

my $cgi = CGI->new();
# alle parameter in einen Hash einlesen
my %parameter = $cgi->Vars();
# oder nur einen in eine Variable
my $action = $cgi->param('action');
# cookie erstellen
my $cookie = $cgi->cookie(
-name => 'sessionID',
-value => 'wert des cookies',
);
print $cgi->header(
-type => 'text/html',
-cookie => $cookie,
);
print $cgi->start_html(
-title => 'Testseite mit cookie',
-author => 'ich',
# ...
);
print "values des bisherigen kekses $co";
print $cgi->end_html();


sub readk() {
my $cgi = CGI->new();
my %cookie = $cgi->cookie(-name => 'sessionID');
return %cookie;
}
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten



View all threads created 2004-05-13 22:50.