问题标签 [cgi-bin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1852 浏览

perl - CGI 脚本中的纯文本密码是安全漏洞吗?

我了解到您的 Web 服务器可能会出现问题,这可能会导致 PHP 脚本在 Web 浏览器中显示为纯文本文件;因此,我已将大部分 PHP 脚本移至 Web 根目录之外的目录。现在我一直想知道我的 cgi-bin 中的 CGI 脚本是否会发生同样的情况。

我主要关心的是一个脚本,其中包含我的 MySQL 数据库的用户名和密码。如果这是一个可能的安全漏洞(至少就数据库内容而言),是否有办法将敏感数据放在不同的位置并从那里获取(比如将其保存在不同目录中的文件中并读取例如,它来自该文件)?我的脚本是用 Perl 写的。

0 投票
2 回答
50045 浏览

python - Python os模块打开当前目录上方的文件,具有相对路径

OS 模块的文档似乎没有关于如何打开不在子目录中的文件或脚本正在运行的当前目录中没有完整路径的信息。我的目录结构如下所示。

给出文件未找到错误。但是如果我在 cgi-bin 目录中启动一个 python 解释器并尝试open("../../fileIwantToOpen.txt","r")它可以工作。出于明显的可移植性原因,我不想在完整路径中硬编码。操作系统模块中是否有一组方法可以做到这一点?

0 投票
2 回答
26004 浏览

exception - java.lang.IllegalStateException:提交响应后无法创建会话

我收到了一个非常奇怪的无效 URL 请求:

这导致以下错误:

我该如何解决这个问题?

0 投票
1 回答
36 浏览

html - cgi 脚本可滚动复选框

我正在尝试将通过 cgi 脚本返回的网页上的滚动列表转换为可滚动的复选框。这在cgi上可能吗?我已经阅读了很多可以在 Java 上完成的内容。但我想知道它是否可以在cgi上完成?提前致谢。

0 投票
2 回答
95 浏览

apache - 在 Apache 中控制对大文件的访问

我希望通过使用签名 URL 来控制对一些大文件的访问(我们在这里谈论很多 GB)。这些文件当前受 LDAP 基本身份验证 ( mod_auth_ldap) 的限制,但我需要更改它以验证签名(作为 URL 中的查询参数传递)。

基本上,我只需要运行一个脚本来验证签名,并允许请求继续进行,就好像身份验证成功一样。我最初的想法只是使用一个简单的 CGI 脚本,但由于文件太大,我担心性能。所以,真的,这个问题(可能)更像是“通过 Apache 从 CGI 脚本流式传输大文件是否有任何性能影响?”......如果是这样,“有没有更好的方法来做到这一点(没有编写专门的认证模块)?”

如果这有任何意义,将不胜感激帮助:)

PS我不确定要搜索什么(10分钟的谷歌搜索没有结果),所以我很可能会复制别人的帖子。

0 投票
1 回答
2923 浏览

session - BDE inmem000.rem 访问/共享冲突

我有这个专有的网络 CGI 可执行文件,每次请求页面时都会打开与 BDE Thingy 的连接。

我对编译后的 exe 和 BDE 的工作原理一无所知,但我观察到在每个页面请求期间,BDE 都会生成一个临时 INMEM000.REM 文件。

问题是在服务器负载过重时,页面生成可能会持续一段时间,在此期间任何其他用户都无法请求另一个页面,因为 BDE 试图创建/锁定同一个 INMEM000.REM 文件。

我发现一些信息表明该文件与针对 BDE 的应用程序会话有关。

但是为什么 BDE 坚持在同一个文件上呢?不能指示创建多个会话锁定文件吗?还是依赖于应用程序,是否应该在 CGI 部分进行编码?

提前致谢。

0 投票
2 回答
3346 浏览

python - CGI 不执行 python - 500 内部服务器错误

我有一些我想执行的 python 脚本和以下配置:安装了 Ubuntu 10.04、Apache2、Python 2.6、mod_python 和 mod_wsgi。

我已按照以下网站上的说明进行操作:

http://bytes.com/topic/python/answers/474462-apache-python-ubuntu

http://apache.active-venture.com/cgi-configure.html

http://modpython.org/live/current/doc-html/inst-testing.html

http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide

http://wiki.apache.org/httpd/DistrosDefaultLayout

sites-available 中的默认文件:

我收到 500 内部服务器错误。我还将文件的权限更改为 755

py 文件只是打印一些应该出现在页面上的文本。我应该怎么办?谢谢

[编辑]:更新,它与下面显示的 py 文件 错误日志中的错误有关。

从 None 转换为 int 似乎是一个错误,在这里:

关于如何进行这种转换的任何提示?

0 投票
1 回答
8846 浏览

perl - 用作 cgi-bin 时如何使用 setuid() 成功运行 Perl 脚本?

我有一个通过 Apache 或命令行调用的 Perl 脚本。

出于测试目的,我将我希望 Perl 脚本操作的用户名传递给它,并用于POSIX::setuid设置uid.

如果我从命令行运行脚本,则uid设置正确:

命令行输出显示uid指定的正确$username,而不是uid开始运行脚本的测试帐户的正确。

如果我通过 Apache 调用脚本,那么uid其余部分设置为apache用户的 id,并且永远不会更改。

我不相信我可以suExec在这里使用,因为在阅读了文档之后:

  1. 我不能http://www.example.com/~username为每个$username. 脚本需要从一个位置运行,我需要uid在脚本中指定 from。

  2. 我需要让脚本在运行时作为指定的用户名运行,而不是作为在 Apache 配置文件的虚拟主机指令中指定一次的单个用户名。每次新用户运行此脚本时更改此配置文件并重新启动 Apache 是不现实的。

使用时如何让 Perl 脚本作为 cgi-bin 运行以uid正确更改setuid()

0 投票
4 回答
324 浏览

cgi-bin - 复杂的 cgi 脚本可以工作,但 test.cgi 不能

我在同一个 cgi-bin 文件夹中有两个 cgi 文件。一个复杂的 30000 行脚本可以正常工作,但是当涉及到这个简单的 cgi 脚本时:

网页将返回 500 内部服务器错误...

为什么?:(

编辑: 好的,问题已在一台服务器上解决,cgi 工作正常。但是......
现在我正试图让 cgi 脚本在另一台服务器上工作,似乎无论我做什么,我都会不断收到“内部服务器错误”消息并且错误日志中没有任何内容。有什么建议么?

0 投票
1 回答
220 浏览

cgi-bin - 服务器端电子邮件脚本

我脑子里有一个项目想法,我正在考虑尝试执行,但是这个桌面程序员真的不知道在 Web 服务器开发方面从哪里开始!

当在某个地址收到电子邮件时,我希望有一个脚本响应,该脚本将查询数据库,做出一些决定,然后可能将此电子邮件转发到另一个地址。我知道如果我编写脚本并将其放入托管的 CGI-BIN 目录中,我可以在 Perl 或 PHP(或实际上任何脚本语言)中完成实际的解析和数据库交互。但除此之外,我有点迷路了。

总之:

我的具体问题是:本质上,我如何在收到电子邮件时“连接”到邮箱并执行脚本?

我更一般的问题是:除了请求 URL 之外,我如何响应用户事件?例如,如果我想运行一个接受许可证代码的应用程序,我将如何实现呢?(侦听打开的套接字或端口上的消息,对数据库执行操作等)

我的(可能过于宽泛)的问题是:我下一步要做什么?什么书或资源让这一切都得到了点击,让你觉得你拥有 1000 名 IT(女性)男人的力量?

更多关于我的背景/我已经知道的:

我从来没有在网络开发方面冒险过头,但是世界已经变得如此相互联系,我不能真的继续坐在黑暗中。我知道如何编写代码和编写脚本,编写 PHP/MySQL 网站,并且我可以通过一定的能力浏览 *nix 机器。

在过去的 5-10 年里,一直专注于 C 系列语言。我用 PHP 的粗略知识取代了 ASP 的粗略知识,只用很少的 JavaScript;大量的 VBScript 和最近的 Python。