Как определить протокол (http против https) с помощью Perl CGI.pm - PullRequest
7 голосов
/ 07 марта 2011

Я редактирую приложение Perl CGI, которое выполняет специальную обработку при запуске под HTTPS.

Сейчас я пытаюсь обнаружить его, вручную ища 'https://' в URI запроса:

    my $is_secure = $cgi->request_uri =~ m{^https://};

Есть ли немного более чистый способ сделать это?

Ответы [ 2 ]

10 голосов
/ 07 марта 2011

CGI.pm имеет метод https(), который, согласно документации :

, работает с переменными среды HTTPS, присутствующими, когда действует протокол SSL.Может использоваться для определения, включен ли SSL.

Это, вероятно, то, что вы ищете.Без параметров возвращает список переменных среды HTTPS.

1 голос
/ 10 ноября 2014

Используйте $ ENV {'HTTPS'}

my $is_secure = $ENV{'HTTPS'};

Или, возможно, лучше, просто используйте $ ENV {'HTTPS'} вместо $ is_secure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...