[CGI]检测是否为https连接
在写CGI时,有时需要检测当前的连接是否是https的,比如设置cookie时。 可以通过HTTPS环境变量来检测,在http下该环境变量不存在,https下该环境变量值为 on。
my $https = (defined $ENV{HTTPS}) ? lc($ENV{HTTPS}) : 'off';
然后在设置cookie时即可这样做:
my $cookie = new CGI::Cookie( -name => 'foo',
-value => 'bar',
-secure => ($https eq 'on') ? 1 : 0
);