当向客户交付 DLL(C# 项目)文件时,库中的某些部分不是应该允许客户使用的接口(interface)的一部分。存在哪些安全机制来限制对公共(public)接口(interface)的访问?
当然,可以将其他方法设置为private
、protected
、internal
,但最终还是借助了一些工具,我们总是可以访问这些方法。那么是否有真正的安全技术来防止这种情况发生?
最佳答案
因为它被标记为“C#”,我不得不说“不,没有真正的安全机制来阻止用户访问这些函数。” .NET 二进制文件始终可以反编译,即使在混淆时也是如此。
这同样适用于所有 .NET 客户端应用程序(winforms、windows 服务、控制台等),如 similar question I asked a while back 中所述。 .
引用所选答案:
In other words, you must consider the desktop application completely compromised, and if this is a risk, you must extract everything that must be secure (authentication, authorization, validation) to an external (web) service.
关于c# - 存在哪些安全机制来防止其他人访问 DLL 的某些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770707/