7

我们刚刚在我的 CS 课上获得了第一个主要的 Perl CGI 作业。我们的任务是创建一个 mp3 共享站点,允许用户创建帐户、登录、共享 mp3。必须显示当前用户、可用 mp3 等的统计信息。所有操作都必须写入日志文件。我们的代码必须是安全的。

到目前为止,我已经将这些动作中的每一个单独实现为它们自己的 CGI 脚本。例如,我有一个绘制登录表单、注册表单的脚本,一个允许上传 mp3 的脚本,以及另一个提供 mp3 服务的脚本。我还创建了一个模块,每当我调用它的实例时,它就会将相关信息发布到日志文件中。然而,每个脚本都是独立的,除了登录屏幕,它会绘制一个表单,然后发布到 login.cgi。帐户生成的工作方式相同。但是,在大多数情况下,每个人都是独立的。

我的问题:如何将其链接在一起,以便除非用户登录,否则不允许执行任何操作?我假设我应该使用登录脚本(接收 post 操作的脚本)来驱动一切,但我该怎么做呢?我在这里真的很茫然。我想让用户登录,用选项绘制主页(添加 mp3、收听 mp3、显示统计数据等)。我最好绘制某种形式并为不同的脚本设置操作?如何处理这些脚本的返回?cookie 会以某种方式提供帮助吗?

其他相关信息:到目前为止,我在 CGI.pm 上使用本网站上的 ovid 教程和 Lincoln Stein 的书完成了我的大部分工作。

4

2 回答 2

8

请参阅CGI::ApplicationCGI​​::SessionCGI::Application::Plugin::Session

于 2009-10-24T23:31:18.820 回答
5

您要实现的通常称为“会话管理”。

这里(how-can-i-add-session-management-to-a-simple-perl-cgi-web-page) 对于以前的 SO 问题

您可能还想查看这些页面以获取一些背景信息。

于 2009-10-24T20:11:31.403 回答