.NET 指南:保护状态数据

处理敏感数据或者作出任何安全决定的应用程序都需要保持它们所拥有的底层控件数据并且不能够允许其他潜在的恶意代码进行直接的访问。在内存中保护数据的最佳方式就是把数据声明成为私有变量或者是内部(为相同的汇编集而使用被限制的作用范围)变量。但是,即使这个数据遵循了你应该知道的访问:

  • 使用反射机制,引用对象中被高度信任的代码能够获取并且设置私有的成员。
  • 使用序列化,被高度信任的代码能够有效地获取并且设置私有的成员,如果它能够从被序列化对象中访问到相应的数据。
  • 在调试的时候,这个数据应该能够被读取。

确保没有任何属于你的方法或者属性会无意识地暴露这些值。

在有些情况下,数据能够出于这个类和它的派生类的被限制访问而被声明成是“被保护的”。但是,你应该采取下列附加的防范措施来防止额外的暴露:

  • 对通过被限制到相同汇编集或者通过使用安全声明而被允许的继承类进行代码控制,相关内容将在[保护方法访问]中被描述,同时需要在代码中使用一些身份或者许可来派生你的类。
  • 确保所有的派生类都实现了类似的保护或者是被密封的。

转载于:https://www.cnblogs.com/Laeb/archive/2007/02/06/641871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值