c - 在 Web 服务器端使用用 C 编写的 CGI 脚本的缺点?

标签 c apache cgi

我目前正在使用启用了 CGI 脚本的 Apache HTTP 服务器和用 C 编写的 CGI 脚本处理请求的 iPhone 应用程序的简单服务器端,读取 HTTP 查询字符串并从 SQLite 数据库中插入/选择根据需要。

据我所知,这是一个非常不常见的设置,大多数人用 Perl 或其他语言编写 CGI 脚本,或者根本不使用 CGI 脚本。我会使用其他东西只是为了成为主流,但我很了解 C 中的 CGI 脚本并且当时不想处理新东西。人们告诉我使用用 C 编写的 CGI 脚本是个坏主意,但当我问为什么时,他们不知道。为什么它不好,因为我正在为一个小程序做这件事?

最佳答案

我认为如果它是一个没有太多棘手代码的简单脚本就可以了。人们可能有以下一些反对意见:

  • 安全性:与解释型语言相比,C 没有很多内置的制衡机制。什么会导致解释器在其他语言中抛出错误可能意味着缓冲区溢出,数据泄漏或在 C 中执行任意代码。

  • 字符串处理:与脚本语言相比,这在 C 中通常更棘手且更容易出错(尽管另一方面,您不会让人们尝试对所有内容使用正则表达式,无论他们有多合适:P)。

  • 开发工作与返回:许多 CGI 脚本的性能并不关键,它们大多受 I/O 限制,因此优化 CPU 利用率对您没有多大帮助,或者包含简单的胶水逻辑。用脚本语言编写此类脚本可能会更快。

关于c - 在 Web 服务器端使用用 C 编写的 CGI 脚本的缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28907546/

相关文章:

go - 最简单的 Golang CGI 表单示例

c# - 将 C# 编译为 CGI

c - 将 tcl.h 包含到 C 项目中

python - 段错误(核心转储)- pdf2htmlEX

c - 如何使用指向字符数组的指针一次访问一个数组元素?

apache - .htaccess 非 www 重定向到根文件夹的子文件夹

python - 使用python for CGI的问题

C - 将字符与换行符进行比较

php - UTF-8贯穿始终

apache - 在 apache windows 上禁止访问包含冒号符号 ":"的 url