繁体   English   中英

是否可以在ASP.net应用程序中嵌入试用限制?

[英]Is it possible to embed trial limitations in ASP.net application?

我有一个ASP .NET应用程序,我们提供给客户,让他们将它部署到他们的Web服务器并使用它。 我担心的是我的所有ASPX页面源代码都是打开的,我们的客户可以打开ASPX / CS文件并查看其中的代码。

我希望通过实施15-20天的试用限制来保护我的代码,就像Windows应用程序一样。 另一方面,源代码必须具有一些第三方dll,以便每当他们尝试部署新构建时,它将仅在有限时间内可用。

与我们的客户的付款条件是,第一源代码,然后付款。 因此,我正在思考一些双方的信仰保持原样。 我怎样才能做到这一点?

发布您的Web应用程序,以便将文件后面的所有代码编译为dll。 通过这种方式,他们无法轻松查看您的代码。 但是,他们可以使用反射来使用jetBrains dotPeeek等工具查看代码。

最佳选择自己主持网站,但由于这不回答您的问题,这里有一些其他选项

第一选择

如果客户端坚持托管网站,因为他们协调拥有数据,然后允许他们托管网站和数据库,但从您可以控制的集中托管网站获取功能。 你甚至可以提供api。

您在web.config中为客户端提供哈希代码,并根据您的站点对其进行验证。 哈希由以下内容组成:

  • 盐下层
  • 网络服务地址
  • 到期日
  • 客户uniqueidentifier
  • 你想要的任何其他信息
  • 盐上层

加密Web服务的请求和响应,并通过ssl发送。

客户端哈希将在请求中发送。 使用相同的字段构建新哈希,并根据从客户端收到的哈希对其进行验证。 如果它无效,则不提供该功能。

谷歌地图要求您注册并获取哈希码,因为如果您滥用谷歌地图API,他们可以终止您使用谷歌地图API。

第二选择

另一种选择是设置对您托管的站点的Web服务调用。

然后,部署的已编译Web应用程序将使用Web服务的响应构建哈希,并将生成的哈希与您在响应中发送的哈希相匹配。

这意味着如果客户端阻止流量到您的Web服务或试图伪造响应,那么应用程序将停止工作。

如果他们试图伪造响应,还要添加一些逻辑来提醒您。 如果它们阻止对您的Web服务的调用,这显然不会起作用。

你不会在这里包含salt,因为如果他们反编译你的代码,客户端可以读取它们。

第3个选项在web.config中添加两个字段:

  • 您为客户端生成的哈希码
  • 到期日。

如果客户更改到期日以允许他们有更多时间,那么它将无法验证并且将被锁定。

如果他们真的想要,Opion 2和3将允许客户端对哈希码进行反向工程。

=====================================

我真的没有看到它的需要,但如果你想要你可以使用其他帖子中提到的一些遮蔽工具,使客户端更难以阅读你的代码。 但即使他们可以读取您的代码,他们也不应该自己创建有效的哈希代码。

DotFuscator社区版是一种可能性,但它可能太基本无法满足您的需求。

我建议你看一下市场上的商业混淆器。 这是我通过简单的Google搜索找到的一些列表。 (这不是任何这些工具的推荐。)

我建议你查看.NET Reactor和Intellilock。 .NET Reactor会阻止编译代码的反编译,但是对于aspx,我不确定它是如何工作的,因为它需要预编译。 Intellilock将提供设置到期时间的功能。 我已经使用标准可执行文件,但从未使用过ASPX,所以我不确定它们是否会有所帮助。

链接: http//www.eziriz.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM