如何使用Perl的CGI.pm识别协议(http与https)

时间:2011-03-07 18:01:45

标签: perl cgi

我正在编辑一个在HTTPS下运行时执行特殊处理的Perl CGI应用程序。

现在,我正试图通过在请求URI中手动查找“https://”来检测它:

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

这样做有点干净吗?

2 个答案:

答案 0 :(得分:10)

根据the documentation,CGI.pm有https()方法:

  

对SSL协议生效时存在的HTTPS环境变量进行操作。可用于确定SSL是否已打开。

这可能就是你要找的东西。如果没有参数,则返回HTTPS环境变量列表。

答案 1 :(得分:1)

使用$ ENV {' HTTPS'}

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

或者更好,只需使用$ ENV {' HTTPS'}代替$ is_secure