Perl 教程 之 Perl CGI编程 14

简介: Perl CGI教程介绍了CGI(Common Gateway Interface)的概念,它是一种让服务器与客户端HTML交互的程序接口。CGI弥补了HTTP协议不识别用户身份的缺陷。Cookie用于身份验证,当用户访问脚本时,信息存储在环境变量HTTP_COOKIE中。示例代码展示了如何从HTTP_COOKIE检索Cookie信息,包括UserID和Password,输出用户ID和密码。

Perl 教程 之 Perl CGI编程 14

Perl CGI编程

什么是CGI

CGI 目前由NCSA维护,NCSA定义CGI如下:

CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。

CGI中使用Cookie

在 http 协议一个很大的缺点就是不对用户身份的进行判断,这样给编程人员带来很大的不便, 而 cookie 功能的出现弥补了这个不足。

cookie 就是在客户访问脚本的同时,通过客户的浏览器,在客户硬盘上写入纪录数据 ,当下次客户访问脚本时取回数据信息,从而达到身份判别的功能,cookie 常用在身份校验中。

查找 Cookie

Cookie信息检索页非常简单,Cookie信息存储在CGI的环境变量HTTP_COOKIE中,存储格式如下:

实例

!/usr/bin/perl

$rcvd_cookies = $ENV{'HTTP_COOKIE'};
@cookies = split /;/, $rcvd_cookies;
foreach $cookie ( @cookies ){
($key, $val) = split(/=/, $cookie); # splits on the first =.
$key =~ s/^\s+//;
$val =~ s/^\s+//;
$key =~ s/\s+$//;
$val =~ s/\s+$//;
if( $key eq "UserID" ){
$user_id = $val;
}elsif($key eq "Password"){
$password = $val;
}
}
print "User ID = $user_id\n";
print "Password = $password\n";

以上实例输出结果为:

User ID = XYZ
Password = XYZ123

目录
相关文章
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
ModernBERT 是由英伟达和 HuggingFace 等机构联合开源的新一代编码器模型,支持长上下文处理,性能超越 SOTA,适合多种自然语言处理任务。
474 7
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
|
Shell Linux Apache
Perl 教程 之 Perl CGI编程 1
CGI(Common Gateway Interface)是服务器与客户端交互的接口,允许执行如Perl的脚本处理用户请求。当浏览器访问URL,服务器解析请求,查找文件,若存在则返回内容。CGI程序可采用多种语言编写。Apache服务器中,CGI脚本通常存放在`/var/www/cgi-bin`,扩展名`.cgi`或`.pl`。要启用CGI,需配置Apache的httpd.conf
137 2
|
Perl
perl之print,printf,sprintf使用案例详解
perl之print,printf,sprintf使用案例详解
317 21
|
缓存 网络协议 Linux
c++实战篇(三) ——对socket通讯服务端与客户端的封装
c++实战篇(三) ——对socket通讯服务端与客户端的封装
551 0
|
开发框架 应用服务中间件 Apache
探索研究Perl CGI编程
【9月更文挑战第19天】
162 8
|
弹性计算 监控 Python
有趣的python脚本【监控公司出口ip变化并发送至钉钉群】
因为公司出口ip是动态的(拨号方式),重新拨号后就会变化。因此及时发现ip变化显得尤为重要(比如及时ecs安全组中的ip),另外可把py脚本打包成exe并加到办公电脑的计划任务里。
340 2
有趣的python脚本【监控公司出口ip变化并发送至钉钉群】
|
移动开发 Perl
Perl 教程 之 Perl CGI编程 2
Perl CGI教程介绍CGI,一个由NCSA维护的接口,用于连接HTTP服务器和客户端HTML。示例展示如何创建首个CGI程序`test.cgi`,包含打印"Content-type:text/html\r\n\r\n"以指示浏览器显示HTML内容,以及"Hello World!"消息。访问`http://localhost/cgi-bin/test.cgi`可查看结果。
105 1
|
存储 Perl
Perl 教程 之 Perl 数组 9
将字符串转换为数组
142 2
|
存储 安全 生物认证
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | 指纹识别工具】WhatWeb使用详析
1261 0
【网络安全 | 指纹识别工具】WhatWeb使用详析
|
JSON 前端开发 Java
SpringMVC之JSON数据返回与异常处理机制---全方面讲解
SpringMVC之JSON数据返回与异常处理机制---全方面讲解
418 0