当前位置: 首页 > 编程语言 > C#

Viewstate中的敏感数据?在

时间:2023-04-10 13:46:55 C#

Viewstate中共享敏感数据?我需要在每个会话中跨多个页面(通过https运行)存储敏感数据。我不能使用会话对象,主要原因是会话存储被设计成备份存储(主要是进行服务调用和加载会话)。如果会话已重新启动,或者换句话说会话中不存在密钥,则创建服务并重新填充会话。因此,如果用户输入敏感数据,我需要跨页面传递这些数据,我们目前没有持久存储,所以剩下的选择是将这些敏感数据存储在Viewstate中。1)我应该加密数据并将其存储在Viewstate中(已弃用-秒和性能。意思是)或2)我应该将数据存储在可序列化的类中并将其存储在Viewstate中吗?(由于性能影响不再推荐)有什么意见吗?我需要在每个会话中跨多个页面(通过https运行)存储敏感数据。ViewState在页面级别设置和维护。它不能跨越不同的页面请求,它只能返回当前页面。假设您的意思是您必须“跨越多个页面”而不是回发。您可能将敏感数据存储在cookie中,但这会带来一些安全风险。您还可以将敏感数据存储在服务器端数据存储(xml文件、数据库等)中,并将密钥存储在客户端cookie中的数据中。它稍微安全一些。好吧,一般的答案是不要这样做!虽然视图状态是(可以)加密的,但它不是为存储敏感数据而设计的。原因是视图状态数据可以由第三方获取并在以后翻译。但是,这并不意味着您不应该这样做...:-)首先,您的连接是通过https进行的,因此您传输的所有内容都是加密的。这意味着获取敏感数据将非常困难。如果第三方窃取了您的敏感数据,他必须首先解密连接,然后再解密视图状态。因此,攻击者可能更容易使用其他方法获取您的数据(例如欺骗用户、网络钓鱼等)。因此,为了您的数据安全,我会一直将它们存储在加密的视图状态中,使用https就足够了。在1)和2)之间进行选择应该对性能没有影响或影响很小。在viewstate中存储对象时,对象会被序列化然后存储,所以无论你选择哪种方式,数据都会为你序列化。设计一个类来存储您的数据听起来像是一种干净的方法,所以我建议这样做。您甚至可能想创建一个类,将敏感数据存储在加密字段中,以增加获取敏感信息的难度,但这会消耗更多性能。考虑到您正在谈论编写代码以安全可靠地与视图状态一起工作的相当大的努力,您应该考虑将您的时间和精力用于仅创建服务器端数据存储。您已经清楚地定义了一个需求,并且实现它可以比您自己选择的自定义视图状态机制工作更多或更少。不同之处在于,持久存储可能在应用程序的其他地方或稍后在其他功能的开发过程中具有价值……而视图状态机制不会在需求的直接范围之外增加价值。在服务器上放置一个简单的MSAccess数据文件相当简单,或者您甚至可以直接插入XML或文本文件并将数据写入这些文件。与SQLExpress、VistaDB甚至MySQL等轻量级关系存储相比,有更多的努力如果您使用的是2.0,则可以加密视图状态。请参阅Channel9文章。AES对于美国军方和联邦政府来说已经足够好了。DES可以在数小时内破解,而AES则需要150万亿年(与2001年的硬件相比)来破解AES。即使使用更快、更分布式的硬件,您的视图状态也不值得恶意用户破解它所需的资源。除非您认为机器密钥不安全,否则我不确定加密带来的安全风险。至于性能,具有敏感数据的视图状态是将数据服务器端存储在宝贵的内存中或使用宝贵的CPU周期来加密数据之间的权衡(特别是在2.0中,您可以配置“服务器端视图状态”)。您可能希望按工作负载和特定硬件收集一些验证数据,以找出真正的权衡。如果将应用程序设计为在会话而不是视图状态中存储状态还为时不晚,您可能还需要考虑SqlSessionStore,它是安全的(服务器端)并且不会使用太多服务器端内存。如果您使用的是1.1,所有关于将敏感数据放入视图状态的令人沮丧的建议都是100%正确的,因为从1.1(或2.0的未加密视图状态)解码视图状态是一项微不足道的任务。在视图状态中存储适量的数据不应该是一个性能问题,无论您是否使用可序列化的类。您需要使用加密来保护视图状态中的数据值。同样,性能不应该成为适度数据量的问题。有关如何启用视图状态加密的详细信息,请参阅此页面。敏感数据不应存储在ViewState中,因为它很容易反序列化。但是你又说页面跑的是https,所以你需要回答的问题是:谁是数据敏感的?谁在访问页面?然后你需要加密它。如果不是,那么您应该没问题,因为您使用的是https。由于开发人员认为可能发生的所有安全漏洞,我认为我不会在视图状态中存储敏感信息。加密与否。您无法控制用户环境,因此您无法控制实际访问此“敏感”信息的对象。以上就是C#学习教程:Viewstate中的敏感数据?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: