【问题标题】:Web Application similar Native Client类似 Native Client 的 Web 应用程序
【发布时间】:2010-11-02 00:43:33
【问题描述】:

我想将我的应用程序移植到网络应用程序。

应用应该:

  1. 能够访问本地硬盘
  2. 数据应存储在本地(以防我的 Web 服务器遭到拒绝服务攻击)。
  3. 利用本地 CPU。
  4. 在任何浏览器、任何操作系统中运行
  5. 无需插件。

基本上,我想要一个可以在任何浏览器和任何操作系统中运行的网络应用程序。不需要使用插件。并且不易受到拒绝服务攻击。

我从 Google 听说过 Native Client,但这还处于萌芽阶段,它可能只能在 Chromium 和/或 Chrome 上运行(不能在 IE、Firefox、Safari 等中运行)。

我不想使用闪存,因为它需要一个可以被用户计算机阻止的插件(公司笔记本电脑的安全策略)。另外,我听说 Flash 快要死了。

另外,我听说 Jave/JSP/Applet 已经死了。

什么开发环境可以让我实现上述目标? .NET 吗?银光?

谢谢

【问题讨论】:

    标签: web-applications offline-mode


    【解决方案1】:

    无需插件即可直接访问用户的本地硬盘驱动器将违反安全性并且无法做到。除非您指的是用户能够将文件上传到服务器进行存储!可以做到的;但这一切都在用户的控制范围内。

    如果您希望保存在用户端的数据很小,您唯一的选择就是cookies,根本没有任何插件,您可以存储的数据量确实非常少。

    HTML5 引入了应用程序存储,但它的支持非常低,所以我怀疑这是否适合您,因为用户可以定义每个应用程序可以使用多少空间,并且默认为少量。

    我猜你可以使用尽可能多的 CPU...但是你必须意识到很多人同时运行多个应用程序、服务和网站,并且它们都共享 CPU 使用率!因此,如果您打算在客户端使用大量 CPU 密集型操作,请不要指望老妈妈的笔记本电脑能够执行并跟上速度……服务器端 CPU;您可以使用多少取决于您的托管服务提供商,一些云托管服务提供商甚至会让您支付 CPU 使用费。

    如果您的网站受到攻击,无论是 flash、silverlight、普通网页、本机客户端应用程序还是您在用户端存储了多少数据......如果浏览器不能请求页面,页面将不会加载,除了本地错误页面外不会出现任何内容,因此这些技术都不会让您“安全”免受 DOS 攻击或任何其他类型的攻击,用户会发现他们根本无法加载网站或页面。

    Silverlight 类似于 Flash、Java 小程序和 google 的“本地客户端”以及其他一切!因为它的插件用户必须安装并且可以选择禁用,所以我收集这些选项都不适合你......不依赖插件你的选项只有基本的javascript和HTML,没有别的,而且许多公司禁用 all 插件或只允许非常选择的少数插件,例如仅 adobe reader...有些甚至禁用 javascript,因此根本无法在客户端上进行任何类型的编码 :)

    这完全取决于您到底需要做什么,为什么需要访问用户硬盘...为什么您指定需要利用 CPU?为什么有禁止插件的规定,你还说要使用插件?

    【讨论】:

    • 好的——我真的不需要访问用户的硬盘。我只需要一种方法来确保只有那台计算机运行应用程序,以防他们决定“共享”应用程序。 CPU 位 - 这只是意味着我需要在本地运行它。我不会控制 CPU 进程。该程序使用了一些运算,我不认为 3000 个用户同时访问服务器上的数字运算模块是一个好主意。没有插件?我已将我的应用程序卖给了学校,他们对可以安装和不可以安装的内容有严格的限制。这减少了我可以卖给谁。
    • 最后一件事,该应用程序是用 VB6 编写的。这切断了所有 Mac 用户 - 随着 Windows 8 的到来,我需要快速考虑一些事情。
    • 您可以使用 javascript 进行非常好的数字运算,几乎每个人都有一个至少可以运行它的浏览器,这一切都取决于您具体想要什么 :)
    • HTML+Javascript 客户端和 .NET/Java/PHP/Python/Ruby/etc 服务器端几乎可以完成您需要的任何事情。基于云的服务器端设置将处理您可能需要的任何级别的数字处理服务器端,因为您可以随着需求的增长自动扩展您的虚拟网络场(例如,不能留给用户端的任务)像授权甚至图像大小调整、数据库查找等)其余的可以是客户端。再次取决于您真正需要哪些功能......有什么不寻常的地方吗?
    • 对于共享,您可以获得客户端 IP 地址,对于 NAT 网关和代理,您当然会获得 NAT/代理 IP,但如果您这样做,学校/大学至少可以通过这种方式识别选择?当然是铁杆选择!另一种选择是身份验证,它更灵活,因为用户可以通过带有网络浏览器的手机登录,从家里等,但它都会作为用户记录在他们身上(前提是你记录了访问权限)
    【解决方案2】:

    听到这么多东西突然死亡或濒临死亡肯定是个坏消息......

    无论如何,如果您的要求是“任何操作系统上的任何浏览器”,那么您说的是 HTML,简单明了。从该要求中删除一些浏览器,您可以包含 JavaScript。

    本地 CPU 与什么相对?使用服务器资源?不是 HTML/JavaScript。本地数据存储会很奇怪,HTML5 还不被所有东西支持,但它可能是值得关注的。

    DoS 攻击向量是什么?为什么这是一个相关的问题?

    您在这里可能有相互排斥的要求,并且可能没有完全掌握作为平台或架构的 Web 开发。更重要的是,这是一个真正模糊的问题,几乎没有任何信息,从其他人的角度来看,这是一个荒谬的要求。请详细说明。

    【讨论】:

    • 至于 DoS - 如果我有 3000 名学生在一年中非常关键的时间(临近考试)访问我的网络应用程序,并且我的网站受到 DoS 攻击(由我的竞争对手发起),那么我将不得不面对音乐。我宁愿将我的应用程序保留为旧版 VB6 应用程序,但使用 Windows 8 并且不保证支持旧版应用程序,那么我有大约一年的时间去做一些事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多