gpt4 book ai didi

asp.net - 即使数据不敏感,我是否需要在用户登录后保持 HTTPS (SSL) 状态?

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:55 24 4
gpt4 key购买 nike

我有一个网站,用户可以在其中发布和查看广告。我正在使用 ASP.net 构建它。所以通常网站是免费的,可以查看广告。但是如果有人想发布广告,他或她需要成为注册用户。因此,如果用户尝试在不登录的情况下发布广告,那么他将被重定向到登录页面。所以我想为登录页面启用 SSL 以通过 Internet 安全地传输信息。

这里有几件事你应该知道。

我只需要保护用户名和密码。用户发布的广告不是敏感数据。所以通过非安全路径传输也是可以的。

我不想为每个页面启用 SSL。因为它会减慢页面加载速度,而且这是一项 CPU 密集型任务。

那么如何实现呢?用户在 SSL 连接下登录后,我是否需要保持 HTTPS 状态,直到他发布文章并注销?

我不能只保护登录页面以验证用户身份,然后使用普通页面吗?请记住,我需要保留记录的信息,因为我在另一个博客中看到说当您从 HTTPS 转到 HTTP 时,所有状态都将丢失。是真的吗?

所以在这里帮助我。

非常感谢。

最佳答案

您应该在用户登录后为每个页面维护 SSL,以便您可以使用安全 cookie 作为身份验证 cookie。这可以使用 web.config ( MSDN doc ) 中的 requireSSL="true" 进行设置。您绝对应该使用安全 cookie 进行身份验证,并且您只能通过 HTTPS 使用该 cookie。

或者正如 Scott Hanselman 在 this seriously old blog post 中所说的那样:

In order to prevent Session Hijacking, when you've got a secure site, it's a good idea to mark your cookies as "secure," meaning that they can't be accessed over HTTP. This prevents folks from being issued cookies over HTTPS then switching to HTTP in order to access the cookie with sniffers or other evil.

Information Security Stack Exchange 也讨论了这个问题和 Programmers Stack Exchange .

更多阅读:OWASP Top 10 for .NET developers part 9: Insufficient Transport Layer Protection

关于asp.net - 即使数据不敏感,我是否需要在用户登录后保持 HTTPS (SSL) 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541952/

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