我应该将.pl或.cgi用于Perl Web脚本文件吗?

Nan*_* HE 2 perl

HI.我使用下面的代码创建了两个文件'hello.pl'和'hello.cgi'.

#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "hello world";
Run Code Online (Sandbox Code Playgroud)

我可以通过http://www.mydomain.com/cgi-bin/hello.plhttp://www.mydomain.com/cgi-bin/hello.cgi查看该页面 .在Perl web dev中哪一个更有意义?

顺便说一下,我的VPS服务器创建的'cgi-bin'目录,我是否需要联系我的VPS支持才能将其删除,或者只是像这种URL样式一样保留它?也许http://www.mydomain.com/ perDev /hello.cgi更好?

dao*_*oad 10

您使用哪种扩展名并不重要.如果您满意,可以将服务器配置.potato为视为CGI文件.

我个人的偏好是使用.cgi甚至不延伸,如果它可以工作的话.主要原因是您向可能希望攻击您的脚本的任何人提供的信息少一些.这是一件小事 - 不要依赖于此作为安全措施.这是鸡汤安全预防措施(它不会伤害).

不使用的好处.pl是如此轻微,以至于您可能决定使用.pl它更短的简单事实,就我而言,它仍然是一个足够好的理由.

做任何让你高兴的事.


mpe*_*ers 9

如果可能的话,尽量不要使用扩展,甚至暴露真实的文件名.您可以使用apache mod_rewrite规则或带有框架的调度系统(Dancer,CGI :: Application,Catalyst等)来执行此操作.

有些人这样做是因为它会使事情变得模糊不清,并且可能会提供一些额外的安全性(但如果有的话,则不会太多).但我这样做是因为它不会将你束缚到特定的实现.最初的一些简单的脚本可以变成一个完整的应用程序,如果你的书签无效,人们会感到恼火.因此,通过选择抽象的东西,您可以更自由地在将来做自己想做的事情.