【问题标题】:How to protect a Web Application如何保护 Web 应用程序
【发布时间】:2014-04-25 13:02:36
【问题描述】:

我有一个 Web 应用程序(ASP.NET WebForms)。现在我需要将此应用程序提供给我的客户端以进行离线安装(安装在本地服务器上并通过 LAN 访问)安装。我想保护这个应用程序不被复制。

我现在能想到的就是:

我应该维护一个在线服务器并拥有一个激活页面 在第一次运行 Web App 时运行,它应该连接到 服务器并获得针对密钥的有效许可证(由我输入 Web.Config 安装)和机器参数。

另外,如果我编写代码,我需要处理系统时钟和其他幼稚问题。

现在,我有两个问题。

  1. 还有其他选项可以保护 Web 应用吗?
  2. 我计划编写的解决方案是否已经存在?

感谢您阅读并尝试提供帮助。 :)

【问题讨论】:

  • 你可以只获取它应该运行的服务器的mac地址,并在应用程序中添加一个mac地址检查
  • 我正在计划 MAC 地址和其他机器参数。 MAC 地址在 Windows 和其他操作系统中非常容易更改。
  • 好吧...正如 rufanov 所说,确实没有 100% 安全的方法可以做到这一点,您可以使用一些 mac/ip/激活码/处理器序列号的哈希值/...但是您从来都不是真正安全的

标签: c# asp.net security installation copy-protection


【解决方案1】:

不,不,不。你不能像这样完全保护你的 ASP.NET 应用程序。

客户(如果愿意)可以反编译您的代码并替换您的激活方法,因此应用程序总是会认为它是“合法激活的”,或者例如他可以编写假的激活服务器来始终激活您的软件......真的没那么难,尤其是当您的应用程序基于 .NET 时。

这个“保护”的主要目的只是为了让非法复制品的创作时间更长(持续几周或两个月......),因此您的销售部门可以向合法客户出售多对多复制品,并避免非法复制品的损失在项目开始时使用量可能不会很大。或者即使使用“为您的应用程序提供的超级超级超级商业保护产品”也可能会很大..这取决于您的应用程序的运气和受欢迎程度..

唯一且唯一的方法是通过 100% 保证免受非法复制来保护您的 ASP.NET 应用程序。根本不将应用程序提供给客户端进行本地安装。使用 SSAS 模型销售您的应用程序。或者,如果它不可行,请为您的应用程序的某些关键部分执行此操作。

【讨论】:

  • 我的目标是一个广阔的市场,那里只有 25% 的客户有良好/持续的互联网访问。休息,会去 WebApp 的离线版本。我不那么害怕顾客了。但是,我更害怕我的经销商(他们本身就是一家 IT 公司)。他们不会错过破解产品并作为自己的产品销售的机会。
猜你喜欢
  • 2010-12-15
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2020-07-03
  • 2012-03-29
  • 2018-03-08
  • 1970-01-01
相关资源
最近更新 更多