松弛和污点模式

  • 本文关键字:模式 perl plack psgi
  • 更新时间 :
  • 英文 :


是否建议使用perl的污染模式开发Plack应用程序(中间件)?

如果是,如何在污染模式下启动plackup和/或Starman?在简单的CGI脚本中,使用shebang行可以轻松完成。

perl -T /path/to/{plackup|starman}会做这项工作吗?或者这里有推荐的方法吗?还是不推荐?

关于Plack+Taint模式的组合,有什么想法、建议和文章吗?

我们通常不建议人们在污点模式下开发Plack应用程序,因为我个人不相信污点模式的有用性。

Plack的核心实用程序,如plackup和Plack::Utli,尤其不能很好地使用污点模式,因为它需要将给定的.psgi文件作为源代码进行编译。如果你真的想在污染模式下开发你的应用程序,你必须绕过这个插件,使用Plack::Handler或Plack::Loader。

解决plackup util的问题很简单,我可以给你举一个fastcgi的例子,但它应该可以对starman做同样的事情伪造.psgi文件,并使用一个简单的启动脚本:

my $app = sub {
    my $env = shift;
    #...
}
#read the pid file, check for an old process, kill the old process...
#...
#choose a psgi Server impl.
#i prefere fcgi 
my $manager = new FCGI::ProcManager::MaxRequests({
'max_requests'=>100,
'pid_fname'=>$pid_file,
'n_processes'=> 3,
'pm_title'=> $name
});
my $server = Plack::Handler::FCGI->new(
'listen'=>[$socket],
'detach' => 1,
'manager' => $manager

);#或使用Plack::Loader加载服务器

#运行您的应用程序$server->运行($app);

然后用taintmode perl-T 启动startup.pl脚本

相关内容

  • 没有找到相关文章