您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

反射是否会破坏私有方法的概念,因为私有方法可以在类外部进行访问?

反射是否会破坏私有方法的概念,因为私有方法可以在类外部进行访问?

我们是否仅将私有方法用于程序逻辑而不用于程序安全?

您不清楚“程序安全性”是什么意思。安全性不能一成不变地讨论;您正在考虑使用哪些资源来防御哪些威胁?

CLR代码访问安全系统旨在保护 用户数据的 资源免受 用户计算机上运行敌对的部分受信任代码 的威胁。

因此,CLR中反射,访问控制和安全性之间的关系很复杂。简要且并非完全准确,规则如下:

完全信任意味着完全信任。 其中包括私有字段。

在部分信任中反映私人的能力由权限控制;如果未授予它,则部分信任代码可能不会对私有对象进行反映。

有关详细信息,请参见http://blogs.msdn.com/b/shawnfa/archive/2006/09/29/777047.aspx

看到

http://blogs.msdn.com/b/shawnfa/archive/2006/10/05/using-lightweight-codegen- from-partial- trust.aspx

详情

执行摘要是:您 可以 充分锁定部分受信任的代码,以使其无法使用反射来查看私有内容。您 不能 锁定完整的信任代码。这就是为什么它被称为“完全信任”。如果您想限制它,那就 不要信任它

那么:将字段设为私有是否可以保护它免受试图读取它的低信任度代码的威胁,从而窃取用户数据? 是的 。它可以保护它免受 高信任度 代码读取它的威胁吗?没有 。如果代码既受用户信任又对用户不利,那么用户 就会遇到很大的问题 。他们不应该信任该代码

请注意,例如,将字段设置为私有并不能保护 您的代码中的秘密 免受 拥有您的代码并且对您不利的用户的注意 。该安全系统可保护 良好用户 免受恶意代码的侵害 。它不能保护 好的代码 免受 恶意用户 攻击。如果您想使某些东西不公开,以免被 用户使用, 那么您就大错特错了。如果您想保密,以防止 那些诱使用户运行敌对的低信任度代码的邪恶黑客 的机密,那么这是个好方法

其他 2022/1/1 18:17:50 有656人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶