7

这一次,我遇到了很多关于使用 C++ 不适合 SSS 的内容,并建议使用所谓的解释语言,如 PERL 和 PHP。但我需要 C++ 的高级 OO 特性和灵活性来确保可扩展且更易于管理的代码。

我已经尝试了许多互联网文章和搜索,但没有任何帮助到我仍然不知道是否可以用 C++ 编写 SS 脚本,如果可以,那么如何。

我想到了几个想法,包括用 C++ 编写一个 Web 服务器,并在解析 HTTP 请求后做出相应的响应。但这将是重新发明轮子,我最终会偏离我的主要项目并投入大量工作来确保功能兼安全的 HTTP 服务器。

我也考虑过 PHP 扩展,但同样,这种方法也有它自己的包袱和开销。

我的问题是:

  • 可以用 C++ 编写 SSS 吗?
  • 如果是,那么我可以使用哪些方法。

谢谢!

4

6 回答 6

8

暂时忽略将 C++ 用于 SSS 的可取性,您的首选可能是Wt。与其他一些答案的含义相反,没有开发时间不可能增加 10 倍(或接近它的任何地方)。不,您也不会错过 PHP、Perl 或 Python 等所有优秀的基础设施功能。

事实上,我自己的经验恰恰相反:虽然(例如)PHP 可以很容易地让网站快速启动和运行,但生成一个真正稳定、安全和响应迅速的网站是完全不同的故事对于 Wt,情况似乎恰恰相反(至少在我承认有限的经验中)。启动和运行初始站点可能需要更长的时间——但只要它看起来、行为和感觉都符合您的要求,它可能只需要相当小的调整即可供公众使用。

Getting back to the advisability question: developing in C++ may be a bit more complex than in some languages that are more common in the SSS market -- but it's still a piece of cake compared to doing security well. If somebody has even the slightest difficulty writing C++ (e.g., tracking and freeing memory when it's no longer needed), I definitely don't want them getting close to the code for my web site.

于 2011-04-18T19:01:20.840 回答
3

我不推荐它,但您当然可以用 C++(或 C 或 FORTRAN)编写CGI 脚本。但是为什么要打扰呢?像 PHP 这样的语言更容易做得更好,而且它们似乎可以很好地适应一些非常重要的网站。

于 2011-04-18T18:04:43.887 回答
2

CGI是让 C 或 C++ 代码处理 Web 请求的“标准”方式,但您也可以考虑编写一个在运行时链接到 Web 服务器的模块。谷歌搜索“apache 模块 API”(如果使用 Apache)或“IIS 模块”(如果使用 IIS)。

于 2011-04-18T18:08:52.583 回答
0

你能负担得起 10 倍的开发时间吗?您在 php、perl、python 中认为理所当然的所有基础架构部分都不存在,或者在 C++ 中更难使用。我认为这样做只有两个正当理由: 1. 您的平台上只有 C++。2. 服务器确实有非常高的性能需求,这将受益于特定问题的优化。

于 2011-04-18T18:11:39.607 回答
0

您可以使用适当的框架(如这个)在 C++ 中编写 CGI 应用程序。但我建议只使用 perl 或 php。它将为您节省很多时间。这些工具更适合这种工作。

编辑:更正了链接

于 2011-04-18T18:15:37.793 回答
0

I couldn't understand your exact requirements (license, etc) but this might be what you are looking for http://cppcms.sourceforge.net.

于 2011-04-18T19:11:11.653 回答