我正在用 asp/c# 构建一个网站,我需要将它部署到由外部人员管理的多个服务器上。
我需要避免有权访问服务器的人访问和重用我们的代码。
到目前为止,我听到的一种选择是我可以检查代码中的 MAC 地址,但是,用户可以更改 MAC 地址。
避免这种情况的最安全选择是什么?
您有多种选择,但正如许多人所评论的那样……也许它们不值得。
唯一可靠的是:
唯一 100% 可靠的方法是不允许其他人访问实际部署的文件。
由于代码必须首先工作,因此无论您做什么,一个有足够动力的破解者都会获得底层源代码。
您可以审核您的部署文件夹,以便拥有访问日志:您不会阻止任何交互,但您至少会知道谁得到了什么......总比没有好。
为您提供最大控制权的选项:不要部署由外部人员管理的外部服务器。
其他一切都将有更少的选择来保护您的代码,您只需要确定可以支付的价格。
Web 应用程序通常不能完全“关闭”源。
除了bin中编译好的DLL(可以混淆)外,视图页面(.aspx,.ascx,.master,.cshtml)中必须有一点“开源”
如果您希望 100% 关闭,您可以考虑使用非标准方式来提供视图,以便您可以将所有内容打包在 DLL 中并编写您的 http 处理程序代码来处理不同的 URL。
您可以“发布”该网站,而不是将整个源代码放在服务器上,从而将其变成一个已编译的网站。
你可以在这里找到指南
如果你需要这样做,这表明你在公司层面做错了什么。最好的程序通常不是试图阻止盗版,而是接受它。让任何人都可以轻松获得代码,如果需要,可以自己在种子网站上播种,但只能让它以非常受限的方式运行 - 例如,一次只能连接一个连接,因此注册和购买许可证显示出明显的优势。
如果您的许可证也清晰且价格合理,那么就没有盗版软件的动机,预防总比治疗好。