如何在共享主机上为Perl网站实现基于cookie的身份验证?
我对Perl非常陌生,我完全不知道如何处理这个问题。我们有一个以前使用ApacheAuth的旧Perl应用程序;我们想用一个基于cookie的表单样式身份验证来代替它。我知道这是非常具体的情况,并没有一个答案,但一些一般提示将不胜感激如何在共享主机上为Perl网站实现基于cookie的身份验证?,perl,apache,cookies,authentication,Perl,Apache,Cookies,Authentication,我对Perl非常陌生,我完全不知道如何处理这个问题。我们有一个以前使用ApacheAuth的旧Perl应用程序;我们想用一个基于cookie的表单样式身份验证来代替它。我知道这是非常具体的情况,并没有一个答案,但一些一般提示将不胜感激 我需要编辑网站中的所有.pl文件吗?或者我可以使用“金锤”解决方案吗?有什么我可以用的吗?如果需要的话,我们使用的是PerlV5.8.8,我们使用的是Apache2共享托管。我很乐意提供必要的附加信息。您可以在。要识别/要求身份验证,需要由最初接收用户请求的.pl
我需要编辑网站中的所有
.pl
文件吗?或者我可以使用“金锤”解决方案吗?有什么我可以用的吗?如果需要的话,我们使用的是PerlV5.8.8,我们使用的是Apache2共享托管。我很乐意提供必要的附加信息。您可以在。要识别/要求身份验证,需要由最初接收用户请求的.pl
文件进行检查。因此,是否需要更改所有.pl
文件的答案取决于应用程序的结构:
- 如果用户要做第一件事和第二件事,那么,是的,您需要全部更改它们,因为它们都是单独接收请求的
- 如果用户在第一件事和第二件事上转到,并且
基于dispatch.pl
参数在后台调用mode
或one.pl
,那么您只需要更改two.pl
,因为它是唯一直接接收用户请求的dispatch.pl
.pm
文件),并从每个.pl
文件调用该模块,而不是到处复制该代码。理想情况下,这将允许您在每个.pl
中只添加几行代码:
use MyCookieHandlingModule qw(verify_cookie redirect_to_login);
my $q = CGI->new; # ...unless you're already using CGI in object-oriented mode
redirect_to_login unless verify_cookie($q);
谢谢你们的回答,伙计们,但我最终决定了哪一个在共享主机上运行良好。取决于主机提供了多少控制(以及他们愿意代表您做多少)。您使用CGI.pm、CGI::Simple还是使用一些框架?