Thread Session Cookie und IE7 (21 answers)
Opened by frankes at 2009-12-29 10:26

frankes
 2009-12-29 16:00
#129796 #129796
User since
2005-04-02
140 Artikel
BenutzerIn

user image
So, jetzt bleibt mir nur zu hoffen, dass der ganze Zinober nicht an der Wine Emulation liegt, in der der IE7 läuft.
Also falls jemand einen IE7 auf Windows gerade zur Hand hat ...

Ausprobieren kann man das Script auch hier:
http://glasir.de/cgi-bin/cookie.pl

Zum Script:
1. Ein Zufallswert wird erzeugt.
2. Dieser mittels eines Redirects im Cookie den Browser gesendet. Um den Wert überprüfen zu können, wird dieser mit der Redirect-URI wieder ans Script übergeben.
3. Ausgabe des erwarteten Werts und dem Cookie-Werts. Zum Vergleich auch den Wert in $ENV{'HTTP_COOKIE'}

Spannend wird die Sache dann, wenn man einen neuen Wert sendet, oder das Cookie nochmals abfragt.


Code (perl): (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/perl  -Tw
#Cookietest
  use strict;
  use CGI::Carp qw/fatalsToBrowser/;
  use CGI qw(:all);

  $CGI::DISABLE_UPLOADS = 1;
  $CGI::POST_MAX                = 1024*5;

  my $url               = 'http://domain.tld/cgi-bin/cookie.pl';
  my $domain            = 'domain.tld';
  my @chars             = ("A".."Z", "a".."z",0..9);
  my $value             = join( '', @chars[ map {rand @chars}(1..5)] );
  my $cgi               = CGI->new();

  my $cookie    = $cgi->cookie(
                                '-name'         => 'testcookie',
                                '-value'        => $value,
                                '-expires'      => 0,
                                '-domain'       => $domain,
                                '-path'         => '/'
                               );

 unless ( $cgi->param('redirected') )
   {
      print $cgi->redirect(
                             '-url'             => $url.'?redirected='.$value,
                             '-cookie'  => $cookie,
                             '-type'    => 'text/html'
                           );
   }


  print $cgi->header(
                        '-type'         =>'text/html',
                        '-charset'      => 'utf-8'
                    );

  print $cgi->start_html(
                          '-title'      => 'Cookie Test'
                        );

  print $cgi->h1({},"Cookie Test");
  print $cgi->p({}, "Zufallswert wird bei jedem Seitenaufruf im Cookie gesetzt",
                    $cgi->br(),
                    "und die Rückgabe des Browsers angezeigt."
               );

  print $cgi->p({},
                "Erwarteter Wert: ", $cgi->param('redirected'),
                $cgi->br(),
                "Empfangener Cookie Wert: ",$cgi->cookie('testcookie'),
                $cgi->br(),
                '$ENV{\'HTTP_COOKIE\'}: ',$ENV{'HTTP_COOKIE'}
               );
  print $cgi->p({},
                  $cgi->a({'-href'      => $url},'sende neuen Wert'),
                  $cgi->br(),
                  $cgi->a({'-href'      => $url.'?redirected='.$cgi->param('redirected')},'nochmal Cookie abfragen'),
               );

  print $cgi->end_html();

View full thread Session Cookie und IE7