【问题标题】:Why is the default for FormsAuthentication's requireSSL property false!为什么 FormsAuthentication 的 requireSSL 属性的默认值为 false!
【发布时间】: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


【解决方案1】:

因为如果您打开它,您需要 SSL 证书,而这些证书通常需要花钱才能获得。您还可以使用浏览器会话来控制非安全信息 - 在某些公共网站中,这可能正是您想要做的。在这种情况下,有人窃取他人的会话 cookie 不会泄露任何敏感信息 - 那么,为什么要花大价钱购买和安装 SSL 证书呢?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 2013-11-25
    相关资源
    最近更新 更多