Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net会话安全性_Asp.net - Fatal编程技术网

asp.net会话安全性

asp.net会话安全性,asp.net,Asp.net,如果我在会话变量中放入一些非常敏感的信息,它的安全性如何?它是否可以由编写恶意页面并对我的应用程序进行ajax调用的客户端访问 谢谢。简而言之,因为它存储在服务器上,所以应该是安全的 除非公开该变量,否则该变量是安全的。您不能随意进行ajax调用(或任何其他类型的调用)来检索会话变量。您必须能够编写在服务器上执行的代码 然而,如果有人能够劫持您的用户会话,他们将能够在您显示的任何页面上看到它(如果您这样做)。不过,这种安全问题并不局限于会话变量。如果您担心这一点,.如果您确实需要在请求之间存储数

如果我在会话变量中放入一些非常敏感的信息,它的安全性如何?它是否可以由编写恶意页面并对我的应用程序进行ajax调用的客户端访问


谢谢。

简而言之,因为它存储在服务器上,所以应该是安全的

除非公开该变量,否则该变量是安全的。您不能随意进行ajax调用(或任何其他类型的调用)来检索会话变量。您必须能够编写在服务器上执行的代码


然而,如果有人能够劫持您的用户会话,他们将能够在您显示的任何页面上看到它(如果您这样做)。不过,这种安全问题并不局限于会话变量。如果您担心这一点,.

如果您确实需要在请求之间存储数据,那么您应该存储在服务器端

要存储在请求之间使用的信息,您可以使用以下选项:

  • 隐藏字段:永远不要使用它来存储敏感信息,因为用户(或恶意用户)可以获取该信息
  • ViewState:你应该避免在这里存储敏感信息,但是如果你真的需要它,你应该加密ViewState
  • Cookies:您永远不应该使用它来存储敏感信息。就像隐藏字段一样,很容易看到里面的信息
  • 会话:如果你真的需要存储这些数据,这里是你应该使用的地方。在IT世界中,没有什么是安全的,但这是保存信息的更安全的地方

我想我没有忘记任何事情。

处理信用卡数据时,你必须非常小心。这不是一件可以轻视的事情,因为有各种合规法规和法律要考虑。基本上,会议是唯一的地方,我会考虑…如果我有。我仍然会加密它。然而,事实上,如果你能帮忙的话,我建议不要存储任何信用卡数据。有很多支付系统,银行也提供处理工具。如果在交易过程中让用户将其放入,请确保条目安全,并且不存储任何条目,从法律角度来看,这是最安全的。保留数据不会带来风险

如果您必须保留信用卡数据,请参阅以下PCI法规:

此外,您可能会发现本安全会话使用指南非常有用:

您认为session是存储信用卡号码或用户ID(例如)的安全场所吗?如果您需要在请求之间保存它(您不应该Imho),您应该使用SecureString来实现这一点。信用卡号码是一个非常敏感的信息,所以你可能应该用另一种方式搜索你的应用程序。当存储信用卡信息(甚至在页面之间)时,有非常严格的规定。客户端上不应存在此数据。当存储在服务器上时,即使是临时存储,也需要确保没有其他用户可以访问此数据。最节省的赌注,不要储存这个。如果您必须将其存储在单个事务之外,请查看PCI标准(合规性)的此链接:您不想让自己面临风险(例如,因缺乏合规性而被起诉/罚款)。此外,会话数据也不“安全”。的确,它存在于服务器端,但是如果任何人获得了对服务器的访问权,他们就可以访问公共会话数据。如果您要在会话中存储信用卡信息,您最好至少使用非对称密钥对其进行加密。另外,请确保存储会话数据的服务器已锁定(SSL,并且只允许体系结构中的计算机通信。避免使用完全可以访问internet的计算机)。请阅读您的评论并回答,我完全同意您的看法。我对答案投了赞成票,以使其更具可视性。请注意:信用卡信息有一种特殊的处理方式,如果您使用信用卡信息处理请求,您必须遵守PCI法规,即使您没有存储它。如果是这样的话,不要试图自己去了解PCI合规性,而要联系有这方面经验的顾问。@BrunoCosta谢谢。在过去几年中,我一直在更深入地研究标记化。这是我认为理想的方法,如果一个人必须存储任何数据-保持它与所有其他人的访问分离,并且只通过加密通道提供系统访问。我喜欢这种方法,因为它允许您通过从数据库中删除所有敏感数据并消除内部泄露风险(消除攻击动机),从而大幅减少PCI占用空间。