部署时如何保护/混淆/等 ASP.NET MVC 应用程序的源代码?
我最近在使用 ASP.NET MVC 进行开发方面获得了很好的经验,并且正在考虑是否将其用于即将开始的工作项目。不过,有一个重要的考虑因素:他们通常单独出售源代码许可证,而这种应用程序我们实际上无法在不切断很大一部分潜在市场的情况下与我们自己的托管联系起来。
是否可以在没有源代码的情况下分发 ASP.NET MVC 应用程序?或者是否有一个相当有效(显然不会万无一失,但它至少不是“偷我”欢迎垫)和安全的工具或方法来混淆 MVC 应用程序?我尝试了几个据称可以与 ASP.NET 一起使用的混淆器,但由于 MVC 对特定文件/目录名称的依赖,它们破坏了应用程序。
I have had good experiences recently developing with ASP.NET MVC and am considering whether or not to use it for a project coming up at work. One important consideration though: they sell source code licenses separately as a rule, and it's the kind of application we can't realistically tie to our own hosting without cutting off a large chunk of the potential market.
Is it possible to distribute an ASP.NET MVC application without source code? Or is there a fairly effective (obviously won't be foolproof but it's at least not a "steal me" welcome mat) and safe tool or method for obfuscating MVC applications? I tried a couple obfuscators that supposedly work with ASP.NET but they broke the application because of MVC's reliance on specific file/directory names.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1)在您描述的将代码分发给业务实体以托管在其服务器上的情况下,这是一个法律问题而不是技术问题。虽然您可以阻止偶然的攻击并改变严重攻击的经济效益,但即使您可以使用最好的混淆方法也无法阻止坚定的攻击者。
2) 请记住,您可能会给真正的客户带来不便。许多 .NET 开发人员使用反编译器作为其正常开发工作流程的一部分,而流程混淆可能会对性能产生影响。
3) 如果了解了这一点,您仍然认为基本的门锁保护是值得的Crypto Obfuscator 可以混淆 ASP.NET MVC。
1) In the situation you describe where you're distributing code to business entities to host on their servers, this is a legal problem rather than a technical one. While you can deter casual attacks and change the economics of serious ones, a determined attacker will not be deterred by even the best obfuscation available to you.
2) Bear in mind that you may inconvenience your genuine customers. Many .NET developers use a decompiler as part of their normal development workflow, and flow obfuscation can have a performance impact.
3) If, having understood that, you still feel that basic keep-your-door-locked protection is worthwhile Crypto Obfuscator can obfuscate ASP.NET MVC.