标签: cgi

基于CGI的网络应用程序有多安全?

使用CGI的一个众所周知的主要缺点是Web服务器性能较差.但是基于CGI(主要是基于C/C++)的应用程序有多安全?在C/C++上构建CGI架构是否存在重大安全漏洞?

我想知道一些基于CGI的网络应用/网站的实际实现.我所知道的是javaranch.com.

security cgi

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

是否有不能在CGI中使用的Perl模块?

我有一个最近的问题,Tie :: File证明了我可以用于Perl程序的最佳答案.我已经准备好使用CGI,我需要问:是否有不能在CGI中使用的Perl模块,尤其是Tie :: File?如果有任何并发​​症,有没有办法调和它们?

perl cgi module

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

在Perl中是否有类似于HttpURLConnection的东西?

我想为PHP脚本创建HTTPURLConnection并获取脚本返回的HTTP响应.有没有办法在Perl中执行此操作?

总之,我希望Perl等效于以下内容:

            java.net.URL url = new java.net.URL(urlPath);
            java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();

            conn.setRequestMethod("POST");
            conn.setDoOutput(true);
            conn.setDoInput(true);
            conn.setUseCaches(false);
            conn.setRequestProperty("content-type", "application/x-www-form-urlencoded");
            conn.setRequestProperty("Content-Length", Integer.toString(body.length())); 

            conn.setRequestProperty("Cookie", "ONTCred=" + cookie);

            conn.connect();

            java.io.PrintWriter pw = new java.io.PrintWriter(conn.getOutputStream());
            pw.print(body); // "send" the body
            pw.flush();
            pw.close();

            if (conn.getResponseCode() != java.net.HttpURLConnection.HTTP_OK) {
                    throw new java.io.IOException("Error on POST to " + url + ": " + conn.getResponseMessage());
            }

            // for debugging, if you want to see the header info, uncomment this section
            // for (String key : conn.getHeaderFields().keySet()) {
            //      System.out.println("header: …
Run Code Online (Sandbox Code Playgroud)

java cookies perl cgi httpurlconnection

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

什么是好的Perl CGI教程?

我要学习Perl CGI.请为CGI教程推荐一个好的URL或书.

perl cgi

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

如何使用ModPerl :: Registry禁用旧版CGI脚本中的默认mod_perl错误页面

我在Perl中有一个CGI脚本,它自己生成HTTP错误页面.我使用以下Apache2配置通过ModPerl :: Registry在mod_perl下运行它:

Alias /perl "/var/www/perl"
<Directory "/var/www/perl">
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options Indexes FollowSymlinks +ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了一个小问题:当标题中打印的HTTP状态不同于200(例如404)时,Apache会将默认的HTML错误文档附加到我自己生成的响应中.

以下面的简单CGI脚本为例:

#!/usr/bin/perl

use strict;
use warnings;

use CGI qw(:standard :escapeHTML -nosticky);
use CGI::Carp qw(fatalsToBrowser);

use Apache2::Const qw(:http :common);

our $cgi = CGI->new();

print $cgi->header(-type=>'text/html', -charset => 'utf-8',
                   -status=> '404 Not Found');
our $mod_perl_version = $ENV{'MOD_PERL'} ? " $ENV{'MOD_PERL'}" : '';
print <<"EOF";
<html>
<head>
<title>die_error_minimal$mod_perl_version 
</head>
<body>
404 error
</body>
</html> …
Run Code Online (Sandbox Code Playgroud)

perl cgi mod-perl mod-perl2 mod-perl-registry

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

显示PYTHON CGI脚本的进度

我有一个PYTHON CGI脚本(Content-type:text/plain),大约需要10分钟才能执行.我想在浏览器上看到我的脚本的执行状态.

如下所示:

脚本执行的第1部分......

脚本执行的第2部分..

脚本执行的第3部分..

执行完成

我正在使用print语句,但它只是在脚本完成执行后才将所有print语句全部输出,而不是逐个输出.

请帮忙 ..

python cgi progress show

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

如何从WSGI处理程序启动CGI脚本?

我正在尝试为Bugzilla创建一个小型测试服务器,这样我就可以在将它们部署到基于Apache的主服务器之前测试我所做的更改.我最熟悉Python,我想让Python的内置HTTP服务器运行Bugzilla的CGI程序.

不幸的是,Bugzilla拥有的不仅仅是CGI应用程序.它有一堆css和其他直接提供的数据.这意味着处理程序也需要处理这些.我想设置一个WSGI处理程序,它查看请求URL并将请求适当地路由到任何一个Bugzilla CGI脚本或直接从文件系统中提取数据.

有没有更好的方法来完成我想做的事情?如果没有,是否已经有一个WSGI应用程序已经建立了一个CGI环境并通过Python subprocess模块调用CGI应用程序?

python bugzilla cgi wsgi

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

使用Perl CGI的复选框

对不起,如果我的问题太简单了,我刚开始使用CGI ...所以我有一堆同名的复选框.示例HTML:

<form action="/cgi-bin/checkbox.cgi" method="POST">
<input name="Loc_opt" value="Loc_1" type="checkbox">Option 1<br>
<input name="Loc_opt" value="Loc_2" type="checkbox">Option 2<br>
<input name="Loc_opt" value="Loc_3" type="checkbox">Option 3<br>
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我需要找出使用Perl CGI检查哪些.我在checkbox.cgi中有以下内容:

print "Content-type:text/html\r\n\r\n";
local ($buffer, @pairs, $pair, $name, $value, %FORM);
    # Read in text
    $ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
    if ($ENV{'REQUEST_METHOD'} eq "POST")
    {
    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    }else {
    $buffer = $ENV{'QUERY_STRING'};
    }
    # Split information into name/value pairs
    @pairs = split(/&/, $buffer);
    foreach $pair (@pairs)
    {
    ($name, $value) = split(/=/, $pair);
    $value =~ tr/+/ /;
    $value …
Run Code Online (Sandbox Code Playgroud)

html checkbox perl cgi

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

运行perl脚本,如没有CGI的PHP

是否可以在不使用CGI的情况下在Web服务器中运行Perl脚本?
我的意思是,像php脚本(运行任何没有#!/path/to/interpreter行的.pl文件).
如果是,怎么样?

谢谢

apache perl cgi module

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

"N"个参数使用cgi

如何使用cgi检索"N"个参数?

目前我正在使用下面的代码.但我不知道参数名称.那个案子怎么办呢?

代码:script.cgi

use strict;
use CGI;
my $query = new CGI;
my $paramValue1 = $query->param('name1');
my $paramValue2 = $query->param('name2');
.....
Run Code Online (Sandbox Code Playgroud)

输入网址:

http://host/cgi-bin/script.cgi?name1=value1&name2=value2&.........
Run Code Online (Sandbox Code Playgroud)

产值:

value1,value2,.....
Run Code Online (Sandbox Code Playgroud)

请帮帮我.谢谢.

perl cgi

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