Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 8e51379e

Von Sven Schöling vor mehr als 7 Jahren hinzugefügt

  • ID 8e51379e94d291d21add91bdbfbfe925433ea6c0
  • Vorgänger 435a46b8
  • Nachfolger bc0292d9

HTTPS: Zustand korrekt erkennen, und im Workflow verwenden

Behebt Probleme, wenn der Server die HTTPS Environmentvariable auf 'off'
setzt.

Unterschiede anzeigen:

SL/Form.pm
376 376
  return URI->new($ENV{HTTP_REFERER})->canonical() if $ENV{HTTP_X_FORWARDED_FOR};
377 377
  return URI->new                                  if !$ENV{REQUEST_URI}; # for testing
378 378

  
379
  my $scheme =  $ENV{HTTPS} && (lc $ENV{HTTPS} eq 'on') ? 'https' : 'http';
379
  my $scheme =  $::request->is_https ? 'https' : 'http';
380 380
  my $port   =  $ENV{SERVER_PORT};
381 381
  $port      =  undef if (($scheme eq 'http' ) && ($port == 80))
382 382
                      || (($scheme eq 'https') && ($port == 443));
......
426 426
      $session_cookie = $cgi->cookie('-name'   => $main::auth->get_session_cookie_name(),
427 427
                                     '-value'  => $session_cookie_value,
428 428
                                     '-path'   => $uri->path,
429
                                     '-secure' => $ENV{HTTPS});
429
                                     '-secure' => $::request->is_https);
430 430
    }
431 431
  }
432 432

  
SL/Request.pm
42 42
  return 'html';
43 43
}
44 44

  
45
sub is_https {
46
  $ENV{HTTPS} && 'on' eq lc $ENV{HTTPS};
47
}
48

  
45 49
sub cache {
46 50
  my ($self, $topic, $default) = @_;
47 51

  

Auch abrufbar als: Unified diff