Revision a97ebf45
Von Moritz Bunkus vor fast 14 Jahren hinzugefügt
SL/Form.pm | ||
---|---|---|
594 | 594 |
pop @segments; |
595 | 595 |
$uri->path_segments(@segments); |
596 | 596 |
|
597 |
my $session_cookie_value = $main::auth->get_session_id(); |
|
598 |
$session_cookie_value ||= 'NO_SESSION'; |
|
597 |
my $session_cookie_value = $main::auth->get_session_id(); |
|
599 | 598 |
|
600 |
$session_cookie = $cgi->cookie('-name' => $main::auth->get_session_cookie_name(), |
|
601 |
'-value' => $session_cookie_value, |
|
602 |
'-path' => $uri->path, |
|
603 |
'-secure' => $ENV{HTTPS}); |
|
599 |
if ($session_cookie_value) { |
|
600 |
$session_cookie = $cgi->cookie('-name' => $main::auth->get_session_cookie_name(), |
|
601 |
'-value' => $session_cookie_value, |
|
602 |
'-path' => $uri->path, |
|
603 |
'-secure' => $ENV{HTTPS}); |
|
604 |
} |
|
604 | 605 |
} |
605 | 606 |
|
606 | 607 |
my %cgi_params = ('-type' => $params{content_type}); |
607 | 608 |
$cgi_params{'-charset'} = $params{charset} if ($params{charset}); |
609 |
$cgi_params{'-cookie'} = $session_cookie if ($session_cookie); |
|
608 | 610 |
|
609 |
my $output = $cgi->header('-cookie' => $session_cookie, |
|
610 |
%cgi_params); |
|
611 |
my $output = $cgi->header(%cgi_params); |
|
611 | 612 |
|
612 | 613 |
$main::lxdebug->leave_sub(); |
613 | 614 |
|
Auch abrufbar als: Unified diff
Nur dann Cookie setzen, wenn eine Session-ID vorhanden ist
Andernfalls wird bei einigen Fehlern (z.B. "action not defined") das
Cookie auf 'NO_SESSION' zurückgesetzt, weil in dem Moment die Session
noch nicht wiederhergestellt wurde. Erschwert die Entwicklung
ungemein.