【发布时间】:2010-12-13 17:14:28
【问题描述】:
注意:这不是与 [RequireSSL] 属性相关的 ASP.NET MVC 问题。那是完全不同的——只是同名。
ASP.NET Forms 身份验证具有 RequireSSL 属性,该属性要求 ASP.NET 成员身份的身份验证 cookie 仅通过 SSL 发送。这是为了防止有人窃取 cookie(例如通过网络嗅探)并冒充用户。
所以我想知道 - 由于 MS 所做的所有安全意识更改(例如将 httpOnly cookies 设为默认),为什么 requireSSL 不默认为 true?
cookie 嗅探是否被视为“微不足道”的安全风险?
除非连接实际上允许我访问安全/个人数据,否则将其保留为假是否被认为是可接受的风险?如果不可接受 - 我应该如何将用户返回到 http 并且仍然知道他们是谁?
防止表单身份验证 cookie 被捕获和 在穿越时被篡改 网络,请确保您使用 SSL 所有需要认证的页面 访问和限制表格 SSL 通道的身份验证票 通过在 元素。
限制表单身份验证 SSL 通道的 cookie
在元素上设置 requireSSL="true", 如下代码所示。
通过设置 requireSSL="true",您可以设置 安全 cookie 属性 确定浏览器是否应该 将 cookie 发送回服务器。 使用安全属性集, cookie 仅由浏览器发送到 使用请求的安全页面 HTTPS URL。
注意:如果您使用的是 cookieless 会话,您必须确保 身份验证票永远不会 通过不安全的方式传输 频道。
【问题讨论】:
-
我猜这是因为网站默认不是 SSL。您需要 SSL 证书才能完成这项工作。
标签: security cookies asp.net-membership requiressl