标签: cgi-bin

将图像返回到python,cgi-bin中的浏览器

我正在尝试在cgi-bin中设置一个python脚本,它只返回一个带有content-type:image/png的头文件并返回图像.我试过打开图像并将其返回,print f.read()但这不起作用.

编辑:我正在尝试使用的代码是:

print "Content-type: image/png\n\n"
with open("/home/user/tmp/image.png", "r") as f:
    print f.read()
Run Code Online (Sandbox Code Playgroud)

这是在ubuntu服务器10.04上使用apache.当我在chrome中加载页面时,我得到了破碎的图像图像,当我在firefox中加载页面时,我得到了The image http://localhost/cgi-bin/test.py" cannot be displayed, because it contains errors.

python image apache2 cgi-bin

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

无法为模块XML :: LibXML加载'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll'

我已经下载了草莓PERL并在Winxp sp3上用CGI Perl Apache编写了一个应用程序.我使用的其中一个库(由其他人编写)使用XML :: LibXML.当我加载页面时,它给出了内部服务器错误.从Apache错误日志中我可以看到此错误:
无法为模块XML :: LibXML加载'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll':load_file:指定的模块无法可以在C:/strawberry/perl/lib/DynaLoader.pm第190行找到
.C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll存在所有权限.此库也适用于Linux.如果我删除所有需要LibXML的代码,我的应用程序也可以正常工作.
任何人都可以告诉我何时可以在这里发布问题.

perl perl-module cgi-bin windows-xp-sp3 xml-libxml

4
推荐指数
2
解决办法
5627
查看次数

Cron作业 - 无法打开输入文件:

我已经设置了一个php文件来运行,只有echos你好.

<?php
echo hello;
?>
Run Code Online (Sandbox Code Playgroud)

我的cron工作看起来像这样:

/usr/local/bin/php -f “/home/username/public_html/mls/test.php”
Run Code Online (Sandbox Code Playgroud)

当我的脚本运行时,我收到一封确认电子邮件说:

Could not open input file: /home/username/public_html/mls/test.php 
Run Code Online (Sandbox Code Playgroud)

我不知道造成这种情况的原因.我正在使用godaddy的虚拟专用服务器,安装了cpanel x.我已经使用ssh在文件夹和文件上设置权限777,仍然无法让它运行.

任何意见将是有益的.谢谢.

ssh crontab cgi-bin

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

用于 Apache cgi 脚本的 LD_LIBRARY_PATH

我用 C++ 构建了一个 .CGI。此二进制文件依赖于boost特定文件夹中的某些共享库和其他资源/usr/local/boost/。CGI 不执行,在日志中我可以看到错误

    error while loading shared libraries: libdxxx: cannot 
    open shared object file: No such file or dire
Run Code Online (Sandbox Code Playgroud)

现在,我读了很多日志,说我必须在httpd.conf下面进行设置,但仍然不起作用。

   SetEnv LD_LIBRARY_PATH /usr/local/boost:
Run Code Online (Sandbox Code Playgroud)

在我的配置中,我在配置文件的末尾“按原样”设置了这一行,而没有包含在任何VirtualHOst or Directory部分中。我试图插入到 cgi-bin 的目录中,但还是一样

 <Directory "/var/www/cgi-bin">
     AllowOverride None
     Options None
     Order allow,deny
     Allow from all
     SetEnv LD_LIBRARY_PATH /usr/local/boost
 </Directory>
Run Code Online (Sandbox Code Playgroud)

我也试过(见下面的讨论)为 ldconfig 添加一个 .conf 文件,但它仍然不起作用!

  #added a file called myconfig.conf conrtaining a line
  /usr/local/boost 

  /etc/ld.conf.d/
  ldconfig (as root)
Run Code Online (Sandbox Code Playgroud)

我还阅读了httpd继承运行它的 ROOT 用户的环境变量;当我 root 时,我调用以下命令来启动 Apache 并且 …

apache cgi environment-variables cgi-bin

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

我的cgi脚本无法写入Apache的cgi-bin文件夹

我正在开发一个python版本的cgi脚本,需要在cgi-bin文件夹中创建img文件(将在网页上显示).

但它失败了:[星期三10月28日16:13:51 2009] [错误] [客户端:: 1] OSError:[Errno 13]权限被拒绝:'平均/'

[注意]'average /'是cgi脚本首先要创建的用于保存这些img文件的文件夹.

我尝试给cgi脚本一个+ x权限,但它仍然失败了.这在Win和Mac上都会发生.

顺便说一句,我正在使用默认的Apache配置.安装Apache后我没有改变任何东西.

apache cgi-bin

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

使用apache2在cgi-bin中执行.py文件时出错404

以前我在为python安装apache2时遇到错误,这是链接

我以为我应该继续那里,但是现在我得到一个新的错误,所以把它作为一个新的发布,这就是问题所在

我已经放置了一个包含代码的文件hello.py

#!/usr/bin/python
print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'
Run Code Online (Sandbox Code Playgroud)

/var/www/cgi-bin我在apache2上使用时在一个文件夹中

HTTP://localhost/cgi-bin/hello.py

我收到了这个错误

The requested URL /cgi-bin/hello.py was not found on this server. Apache/2.2.14(Ubuntu)Server at localhost Port 80
Run Code Online (Sandbox Code Playgroud)

这是我在sites-available文件夹的默认页面中找到的代码:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from …
Run Code Online (Sandbox Code Playgroud)

mod-python apache2 cgi-bin

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

为什么我的Perl CGI程序返回服务器错误?

我最近学习了cgi,并在vbox中设置了一个Ubuntu服务器.我写的第一个程序是使用vim通过ssh在Python中编写的.然后我在我的Windows 7工作站上安装了Eclipse并创建了完全相同的Perl文件; 只是一个简单的问候世界.

我试过运行它,我得到了500,而同一个目录(/ usr/lib/cgi-bin)中的Python代码显示正常.沮丧,我检查并三重检查权限,它开始于#!/ usr/bin/perl.我还检查了AddHandler是否设置为.pl.一切都设置得很好,一时兴起,我决定使用vim在服务器中编写完全相同的代码,就像我在Python文件中所做的那样.

瞧,它有效.我比较了他们,以为我疯了,他们完全一样.那么,这笔交易是什么?为什么Eclipse中的Windows 7中的文件与使用vim的Ubuntu服务器中生成的文件不同?他们有不同的二进制标题或什么?这确实会影响我的开发环境.

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

Apache错误日志:

[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] (2)No such file or directory:     exec of '/usr/lib/cgi-bin/test.pl' failed
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] Premature end of script headers: test.pl
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] File does not exist: /var/www/favicon.ico
Run Code Online (Sandbox Code Playgroud)

这是我得到的持续错误.

perl cgi apache2 cgi-bin

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

在cgi-bin中运行python的安全预防措施

我一直在编写本地运行的python脚本.我现在想使用其中一个python脚本在线提供服务,通过webhosting,我可以在cgi-bin中运行python.

python脚本从用户填写的html表单中获取输入,具有凭据并与本地数据库连接,使用python库计算内容并将结果发送为要显示的HTML.

我想知道的是我应采取的安全措施.这是我的担忧:

  • 通过Web调用的脚本有哪些正确的文件权限?755?
  • 我正在接受用户输入.我如何保证它被消毒?
  • 我在脚本中有数据库的user/pass.如何防止下载脚本并看到代码?
  • 我可以在文件旁边安装其他库吗?我是否还要担心这些安全性?我将他们的权限设置为700吗?744?
  • 我不知道的任何其他漏洞?

python security cgi-bin

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

如果CGI脚本包含等号,则不会接收参数

我有一个CGI脚本(编译的C程序),它输出其命令行参数(argv [0],argv [1]等).

如果我尝试http://ajf.me/c/?abc,我会将"abc"作为第二个参数.

但是,如果我尝试http://ajf.me/c/?a=bc我没有得到任何第二个参数.

为什么使用=停止参数传递给程序?

如果重要的是C代码:

#include <stdio.h>

int main (int argc, char *argv[]) {
    int i;
    printf("Content-Type: text/html;charset=utf-8\n\n");
    printf("<!DOCTYPE html>\n");
    printf("<html>\n");
    printf("<head>\n");
    printf("<title>ajf.me powered by ANSI C!</title>\n");
    printf("</head>\n");
    printf("<body>\n");
    printf("<h2>Supplied Arguments</h2>\n");
    printf("argc: %d\n", argc);
    printf("<ol>\n");
    for (i = 0; i < argc; ++i) {
        printf("<li>%s</li>\n", argv[i]);
    }
    printf("</ol>\n");
    printf("<em>Yes, this is vulnerable to null-byte injection. For instance, <a href=\"?Injected%%00Null\" style=\"font-family: monospace; color: green;\">?Injected\\0Null</a>.</em>\n");
    printf("</body>\n");
    printf("</html>\n");
}
Run Code Online (Sandbox Code Playgroud)

c apache cgi cgi-bin

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

删除文件夹中的所有*.jpg

如何删除临时文件夹中只有.jpg扩展名的文件.

这是我试过的;

unlink("../httpdocs/Temp/*.jpg);
Run Code Online (Sandbox Code Playgroud)

perl cgi cgi-bin

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