标签: cgi

如何在Perl中限制CGI文件上传中的文件类型?

我正在使用CGI来允许用户上传一些文件.我只是希望能够上传.txt或.csv文件.如果用户上传任何其他格式的文件,那么我希望能够发出错误消息.

我看到这可以通过javascript完成:http://www.codestore.net/store.nsf/unid/DOMM-4Q8H9E

但有没有更好的方法来实现这一目标?Perl中是否有一些功能允许这样做?

perl cgi file-upload

1
推荐指数
1
解决办法
1260
查看次数

为什么我的Perl CGI脚本不起作用?

我真的不知道如何运行Perl文件.我已将我的.pl上传到cgi-bin然后chmod到755.然后,当我去运行该文件时,我只得到500内部服务器错误.

**/cgi-bin/helloworld.pl**


#!/usr/bin/perl

print 'hello world';
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何想法?

perl cgi

1
推荐指数
2
解决办法
3975
查看次数

当权限为755时,Python脚本通过apache运行,但在777时提供错误500?

我将一个基本的python脚本上传到Dreamhost的共享主机,并将权限更改为777.它从shell(通过SSH)运行良好,但从浏览器调用时会显示"服务器错误".

在error.log中,错误是'Premature end of script headers'.

我写信给DreamHost,他通过更改权限来回复(令人惊讶的是很快)755,并且脚本在apache中开始正常工作(我可以在浏览器中看到输出).

但这似乎不对 - 如何添加额外的宽松权限可以打破任何功能?

cgi chmod 777

1
推荐指数
1
解决办法
284
查看次数

从perl cgi :: application中的模板中分离布局

我正在使用html :: template构建一个perl cgi :: application.

我正在使用具有相同布局的7-8个不同模板 - 页眉,页脚,左列等.如何将这个html从模板文件中分离到单个布局文件中.除了cgi :: app和html :: template之外,我还需要什么perl模块.

谢谢

perl layout templates cgi

1
推荐指数
1
解决办法
403
查看次数

Perl的CGI :: Session似乎没有找到现有的会话(来自PHP)

我正在尝试从在单独的PHP脚本中创建的会话中实例化CGI :: Session对象; 但是,当我Dumper()对象时,我看到_CLAIMED_ID会话ID(与PHP的session_id()匹配)与_DATA成员中存储的_SESS_ID(或其他)不同; 更重要的是,_DATA成员没有我在PHP中注册的任何会话变量.

然而!当我使用PHP :: Session(并将相同的sess id传递给它的构造函数)时,这个对象确实找到了有问题的会话变量.

理想情况下,我想使用CGI :: Session,因为它看起来更健壮,PHP :: Session似乎更具特定任务,所以有人可以建议我在CGI :: Session出错了吗?(我应该创建一个PHP :: Session然后尝试将其传递给CGI :: Session吗?)

php perl session cgi

1
推荐指数
1
解决办法
362
查看次数

使用Perl CGI访问多个<select> -ed参数

我正在使用Perl CGI模块.如果我有像这样的HTML

<select multiple name="FILTER_SITE">
  <option>1</option>
  <option>2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

并提交我的表格我可以在URL中得到这样的内容: [..] FILTER_SITE=1&FILTER_SITE=2

Perl将my $FILTER_SITE = $cgi->param('FILTER_SITE');仅捕获第一个实例.

如何使用两者(在这种情况下)?劈开它并自己解析引用者并将它们添加到数组是我的第一个想法,但它有点乱,然后我再也不熟悉CGI.pm或Perl.

有趣的是,使用Data :: Dumper

print "<pre>".Dumper($cgi->param('FILTER_SITE')) . "</pre>";

$VAR1 = '1';
$VAR2 = '2';
Run Code Online (Sandbox Code Playgroud)

html perl cgi

1
推荐指数
1
解决办法
3716
查看次数

使用mod_perl,我的未更改的CGI脚本实际上更快吗?

我的apache服务器以前使用的是用perl编写的CGI脚本.我听说使用mod_perl要比使用标准的cgi脚本快得多,所以我在服务器上设置了mod_perl.根据这个页面,为了让我的CGI脚本在mod_perl下运行,我需要做的就是编辑我的httpd.conf文件.我在httpd的末尾添加了以下行:

LoadModule perl_module libexec/apache2/mod_perl.so
<Location /cgi-bin>
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options ExecCGI
    PerlSendHeader On
    Order allow,deny
    Allow from all
</Location>
Run Code Online (Sandbox Code Playgroud)

如果我检查

exists $ENV{"MOD_PERL"}
在CGI文件中,MOD_PERL变量似乎存在.所以我很确定我已经设置并运行了mod_perl.

我的问题是:我的完全未改变的 CGI脚本是否真的经历了加速?有什么办法可以加快速度吗?或者,任何进一步的工作对于加速都不值得吗?有没有人有这种东西的经验?

我一直在寻找文档和论坛的答案,但我真的找不到任何东西.在此先感谢您的帮助!

apache perl cgi mod-perl

1
推荐指数
1
解决办法
1051
查看次数

request.headers与request.environ

我正在使用Bottle.py和Python,我对request.headersVS request.environ变量之间的区别感到有些困惑.我正在使用会话,request.environ当我枚举数据时,我的会话数据出现在变量中,这使我得出结论,其中一些数据不公开.

我怎么知道哪些变量是公开的,哪些变量不公开?这两个变量有什么区别?

python cgi bottle

1
推荐指数
1
解决办法
4152
查看次数

在Perl中重定向时如何使用POST发送值?

我有两个值用于名称,另一个用于密码,如果用户输入正确的组合,我想传递给另一个页面.如果用户知道我可以通过在查询字符串中包含值来重定向,如:

$cgi->redirect('http:someotherpage.com?username=$username&password=$password');
Run Code Online (Sandbox Code Playgroud)

但是这是使用GET请求,是否有办法使用POST执行相同的操作,还是有另一种方法在Perl中重定向时传递值?我知道JSP有一个名为RequestDispatcher的方法,如果POST不可用,Perl中会出现类似的东西吗?

编辑:我之前发现了这个链接CGI Application Dispatch,但它有点技术性,所以我不知道这是否适合这项工作.

编辑:我正在使用CGI.pm

perl redirect cgi

1
推荐指数
1
解决办法
1729
查看次数

看起来像Perl CGI错误

Perl版本5.8.5我有:

my @dt = qw( 1 0 );
my %dt = qw( 1 single 0 multi );
my $val = 0;

$cgi->popup_menu( {
    -name    => "test",
    -default => $val,
    -values  => \@dt,
    -labels  => \%dt,
} )
Run Code Online (Sandbox Code Playgroud)

弹出窗口一切正常,除了"选中"永远不会设置.所以始终选择第一个val.

如果我做出改变,而改变的0〜2在所有情况下($val,@dt,和%dt)通常然后一切功能,而且我得到的HTML标签"选择".

我还把代码应用到Perl 5.8.8框中,它在那里零工作?我是否需要让我们的系统管理员在5.8.5盒子上推出我们的Perl版本?

perl cgi popup

1
推荐指数
1
解决办法
67
查看次数

标签 统计

cgi ×10

perl ×8

777 ×1

apache ×1

bottle ×1

chmod ×1

file-upload ×1

html ×1

layout ×1

mod-perl ×1

php ×1

popup ×1

python ×1

redirect ×1

session ×1

templates ×1