gpt4 book ai didi

asp.net - 使用 session 变量实现安全性,它是如何不安全的

转载 作者:行者123 更新时间:2023-12-04 06:53:40 24 4
gpt4 key购买 nike

我正在 dotnet 中做基于 web 的项目。目前我正在使用 session 变量实现安全性。我在 session 中保留当前用户 ID 和用户类型,并从这些 session 变量中验证用户(比如 session ["UserId"]、 session ["UserName"] 和 session ["UserType"])。

请帮助我理解这可能是不安全的。我听说这种安全性可能会被破坏,并且应用程序很容易被黑客入侵,比如可以获取 session ID 并直接连接到该 session ID 等。

请指导我。

最佳答案

在幕后,标准 ASP.NET 表单例份验证的工作方式基本上与您描述的方式相同。不安全感主要来自这样一个事实,即您实际上是在告诉 ASP.NET“嘿,别担心......我会处理这个”。通过接管安全问题,您正在部署您将自己吊死的绳索(*)。微软在 ASP.NET 框架上投入了多年的人力,它有一个相当强大的内置安全系统。你应该使用它。

Aristos 的做法是错误的……如果有人可以从您的用户/站点窃取“一个简单的 cookie”,那么他们也可以破坏 ASP.NET 的默认安全模型。虽然这绝对是一个问题,但这并不是真正的问题。

*例如,假设您创建了一个名为 MySecurePage 的“安全”页面对象,它始终在执行代码之前检查用户是否已登录和验证。好吧,有一天开发人员 Joe 来了,他忘记使用 MySecurePage 而改用 Page。糟糕,您刚刚取消了此页面上的所有安全性。这是一个简单的示例,但希望您了解有多少种不同的方法可以解决这个问题。

关于asp.net - 使用 session 变量实现安全性,它是如何不安全的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2770848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com