问题标签 [cgi]

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 投票
4 回答
1600 浏览

web-services - 如何模拟挂起的 Web 服务?

我正在尝试测试与 Web 服务交互的软件的故障模式,并且我已经报告了如果软件没有得到及时响应(例如,它等待一分钟或更长时间)就会出现问题的问题. 我想对此进行模拟,以便我可以自己追踪并修复问题,但拔掉网络连接并不能解决问题,因为它会立即返回而找不到路由。

我想知道的是,有没有一种简单的方法可以制作一个接受连接但只是坐在那里的 CGI 脚本,让连接保持活动几分钟,而无需执行某种while (true) {}循环?

0 投票
4 回答
823 浏览

python - Web服务器的.cgi问题

编码

我将它作为 test.cgi 保存到我的网络服务器。我通过 www.mysite.com/test.cgi 运行它没有成功

你怎么能解决这个问题?

[编辑]在第一个答案之后

  1. test.cgi 是可执行的(我运行 $ chmod +x test.cgi)
  2. 我使用阿帕奇。
  3. 我在 .bashrc 中有这个 export PATH=${PATH}:~/bin
  4. Python 模块 MySQLdb 已安装。
  5. 该代码没有智能引号。

[编辑]在第二个答案之后

您收到该错误是因为您尚未安装 Python 需要与 MySQL 数据库通信的 MySQLdb 模块

我将 MySQLdb 安装到我的系统中。该模块有效,因为我可以导入它们。但是,当我访问 www.[mysite].com/test.cgi 时,我仍然遇到同样的错误。

[编辑]

我不确定这些问题

connect() 参数是否正确?MySQL 是否在默认端口的 localhost 上运行?

我在我的服务器上运行 MySQL。关于 connect() 参数的问题在这里是否相关?

SELECT 语句是否正确?

你的意思是我的 SELECT 语句等 SQL 语句是否正确?我还没有使用任何 SQL 查询。我在这里需要它们吗?

0 投票
5 回答
623 浏览

python - Web 环境中的文件访问权限提升

我有一种情况,我想提升我在 Web 环境中的权限,以便我可以访问串行设备。

具体情况是我有一个用于配置调制解调器的 Web 界面/dev/ttyUSB[0-9]

最终用户将插入零个或多个调制解调器。我正在编写一些软件,该软件能够通过/sys/devices使用一些 AT 命令读取和与调制解调器交谈来辨别哪个是 USB 无线调制解调器。

我希望能够打开设备并执行以下操作:

问题在于这样pyserial做:self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)打开 portstr 所在的串行端口,/dev/ttyUSB0但它nobody是以非特权用户身份进行的。

此系统上的串行端口归 root:uucp 所有,并设置为 0660(即rw-rw----)。

对于用户(例如nobody应该拥有尽可能少的权限)在 dev 中打开文件的用户来说,最好的方法是什么?

我会考虑的想法:

  • 使用sudo.
  • 更改文件的权限/dev/(感谢有关如何使用 udev 正确执行此操作的说明!)
  • 使用我没有考虑过的其他 API 或软件。
0 投票
6 回答
5992 浏览

php - 为什么要避免使用 LAMP 托管的 Python 的 CGI?

我已经使用 PHP 多年了。最近我看到很多论坛帖子说PHP 已经过时,现代编程语言更容易、更安全等等。

所以,我决定开始学习 Python。由于我习惯使用 PHP,因此我刚开始通过上传 .htaccess 文件来构建页面:

然后,我的示例页面如下所示:

这工作正常。但是,我在一篇文章中看到一条评论说CGI 不是使用 Python 的最佳方式。当然,它没有提到什么最好的方法。

为什么使用 CGI 不是使用 Python 的最佳方式?什么是替代方案?

没有其他方法可以建立一个简单的 Python 站点?我应该在 .htaccess 和 .py 文件之外查看一些完全不同的范例吗?

有关的

0 投票
3 回答
3112 浏览

php - 无法从 PHP Fedora 10 调用系统命令和 shell 脚本

我正在开发一个通过 PHP 和 Apache 在 Fedora 10 机器上本地运行的应用程序。这取决于在后台运行的进程。

高层希望能够通过浏览器启动/停止/重新启动该过程。我试图通过让 PHP 使用 exec() 和 shell_exec 调用系统来使其工作,但它似乎不起作用。

当我尝试使用“exec('processName')”启动进程时,什么也没有发生。

当我尝试使用“exec('killall processName')”时,SELinux 开始不断弹出该进程被允许的警告(因为我将其置于允许模式),但它实际上并没有杀死该进程!但这似乎在页面完全加载后仍然存在!?!?

我能够以类似的方式调用另一个脚本:“exec('/var/www/cgi-bin/ControlProgram START')”。所以我不太确定这两个调用/命令之间的主要区别是什么。

我还将脚本调用放入 /etc/rc.local 文件中,以使脚本在登录时运行。但是,我是否能够从 PHP 中删除该脚本,因为它是由...系统运行的?

在权限/SELinux 方面,我不是专家,所以不要吝啬血淋淋的细节!提前致谢!

0 投票
2 回答
1478 浏览

apache2 - Windows/Apache2.2环境下的Windows loginID帮助

我真的可以使用一些帮助来解决看似微不足道的问题。总之,我想知道在 Windows 环境中访问在 Apache 中运行的 Perl .cgi 的用户的 Window 登录 ID。

这是我的基本 Apache2 conf 添加:

---- 开始 httpd.conf -----

---- 结束 httpd.conf -----

此外,我还使用以下出色说明在我的机器上启用了 SSL:http: //tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup.html#tsvn-serversetup-apache-7

上面的站点要求加载 Apache 模块 mod_auth.so,但我在我的默认 Apache2 安装中找不到它。此外,如您所见,我已将 mod_auth_sspi-1.0.4-2.2.2 模块手动添加到我的 Apache2 环境中。

现在,当我同时尝试http://localhost/cgi-bin/test.cgihttps://localhost/cgi-bin/test.cgi时,我在 http/ 中看不到 REMOTE_USER 的任何内容环境变量。我知道 SSL 正在工作,因为 https 调用显示了大量 SSL 变量。另外,我对 SSL 没有要求,但我只使用它,因为上面的链接说它是获取 Windows 登录信息所必需的。

我真的很感激任何见解。如果有帮助,我很乐意完整分享 httpd.conf 文件。基本上,重申一下,我正在寻找的只是一种在 Windows/Apache2.2 托管环境中捕获我的 Perl .cgi 中的 Windows loginID 的方法。

非常感谢大家的帮助,

猎犬加尼

0 投票
6 回答
1551 浏览

python - 我可以同时为 Windows 和 Linux 平台编写 Python Web 应用程序吗?

我可以编写可以在 Windows(IIS Web 服务器)和 Linux(Apache 或 lighttpd)上托管的 Web 应用程序而无需任何更改吗?

电脑动画?也许有什么新东西?WSGI | 快速CGI ?

0 投票
2 回答
97 浏览

web-services - 需要具有某些特定条件的 http 服务器

我一直在为我的项目寻找网络服务器,但我无法满足自己。我需要一个支持 Windows 编译 CGI 脚本 (exe) 的 http 服务器,并且必须能够使用相对路径。如果服务器可以尽可能小/轻量级,那将是一个额外的好处。

到目前为止,我的搜索中最难的部分是找到一个支持 CGI 和相对路径支持的服务器。当我说相对路径时,我指的是服务器根目录。我希望能够将它与我的项目一起打包,因此 conf 文件中的路径不能是绝对的。

我唯一满足所有标准的是Abyss Web,但他们的许可证是专有的,仅供个人免费使用。

编辑:我在我的方式中发现了错误。我在根目录下通过 cmd 启动了这个过程。因此,apache 在 conf 中使用的相对路径是相对于我在根目录下的位置。通过更改到根目录并在那里运行进程,一切都像 gbjbaanb 提到的那样工作。但我想我的问题的上下文可能仍然有效。如果我要在我的程序(C# .NET)中将服务器作为进程运行,那么“当前目录”会是什么?我是否必须确保在启动之前更改了当前目录环境变量?

0 投票
16 回答
14834 浏览

php - 网站的 SQL 数据库存储有哪些替代方案?

如果您的存储需求很小,那么 SQL 数据库就显得多余了。当我年轻而愚蠢的时候,我使用了一个文本文件,并在需要访问它时对其进行了flock()。这无法扩展,但我仍然觉得非数据库解决方案在 Web 2.0 中已被完全忽略。

有人使用 SQL 数据库进行存储吗?有哪些替代方案?

0 投票
6 回答
1527 浏览

perl - 如何减少 Perl CGI 脚本的启动时间?

我正在开发一些 CGI 脚本,并试图找到一种解决方案来减少当我导入大量带有“使用”的模块时产生的“启动时间”。

更新:

提供的解决方案很好,但我正在工作的脚本在控制台和 CGI​​ 模式下运行,检查是否存在一些典型的 HTTP 环境变量。

在“控制台模式”中,它们“正常”转储数据,在“html 模式”中,它们进行一些实时替换并将其他 HTTP 标头发送到客户端。

我想在这两种情况下改善启动时间。