哪个在FastCGI,ASP.NET MVC和服务器应用程序的Web表单中最快,最安全

时间:2012-08-04 06:39:37

标签: asp.net-mvc performance webforms fastcgi code-security

我必须构建一个自动聊天应用程序,它将它的前端作为网站上的小部件和服务器上的后端逻辑。它的主要目的是为客户提供一个界面,以便与位于服务器作为通信点的位置的聊天人员一起解决他们的查询。如果没有人可用,那么应用程序将解析字符串并尝试通过在数据库之间进行检查来给出一些答案。

我在C ++方面有很好的经验,在Java方面有一点经验。该应用程序的主要问题是源代码安全性和最高效率。

我从服务器端面临的限制是我必须在IIS上运行它,并且支持的唯一脚本语言是PHPv5,ASP,ASP.NET和FastCGI。

我不会使用PHP,因为我从谷歌搜索中发现可以对其进行逆向工程,这将花费我很多时间来学习一门新语言,所以严格来说不是。

我更喜欢使用FastCGI,因为它将完全满足我的要求,但我无法找到使用C ++或任何好教程在Windows上编译的方法。我在谷歌上发现的与FastCGI开发相关的大多数结果都是关于Linux或者是用于Windows的Perl。我也无法找到如何在Windows平台上编译它的方法。

我现在被迫使用ASP.NET,这将是我的最后一个选择,因为它是一种解释语言,而解释语言在逆向工程方面往往很弱。

所以有人可以建议我如何去做。如果FastCGI没有出路,那么建议我在特定情况下哪些在MVC和WebForms中会很好。我是他们两个人的新手,我需要在两周内完成申请。

2 个答案:

答案 0 :(得分:0)

首先要做的事情。

  1. 一切都可以进行逆向工程。这取决于试图对代码进行逆向工程的人有多聪明。混淆不是保护代码的替代品。如果您的服务器端PHP安全地存放在您的服务器上并配置了所有适当的安全参数,那么您无需担心。但是,如果你不熟悉PHP已经足够公平了。

  2. ASP.NET只是部分解释。编译用于服务器端代码的C#或visual basic。解释的是直接在页面上的代码。请记住,虽然大多数逻辑都没有在那里发生......它发生在编译的代码页中,页面代码主要用于显示已经计算的内容。但是不要忘记,当页面提供给用户时,您在页面上放入HTML的任何服务器端标记都会被解析并被删除。如果您有一个标记<%:ViewData [“value”]%>,用户只会在查看您的来源时看到“值”的值,而不是实际的服务器端标记。

    < / LI>
  3. 您将很难在两周内学习ASP.NET并完成您的应用。我个人喜欢ASP.NET MVC,但如果你没有太多的网络编程背景,那么与Web Forms相比,它可能不是最容易学习的东西。那说不过......

  4. 我不是PHP的粉丝,但它被广泛使用,是一种很好的语言,可以快速设置简单的项目。还有很多例子,它是人们学习的第一种网络语言(部分原因是这些)。如果您有两周时间学习语言并设置项目,请使用PHP。即使有了C背景,Web编程还有很多东西,而不仅仅是了解服务器端语言,所以你最好用一种快速而肮脏的语言来完成你想要完成的任务,只需要很少的努力。也就是说,PHP。

答案 1 :(得分:0)

FastCGI / C ++具有更好的性能。如果您需要关于操作方法的链接:http://cgi.sourceforge.net/以及谷歌搜索等等。