为什么FormsAuthentication的requireSSL属性的默认值为false!

时间:2009-11-06 05:00:35

标签: security cookies asp.net-membership requiressl

注意:这不是与[RequireSSL]属性相关的ASP.NET MVC问题。这完全不同 - 只是名字相同。


ASP.NET Forms身份验证具有RequireSSL属性,该属性要求ASP.NET成员身份的auth cookie仅通过SSL发送。这是为了防止有人偷走cookie(例如通过网络嗅探)并冒充用户。

所以我想知道 - 有了MS所做的所有安全意识更改(比如默认httpOnly cookies)为什么requireSSL没有默认为true

Cookie嗅闻是否被视为'neglibigle'安全隐患?

除非连接实际允许我访问安全/个人数据,否则将其视为假是否可接受?如果它是不可接受的 - 我应该如何将用户返回到http并仍然知道他们是谁?

  

防止表单身份验证   被捕获的cookie和   在穿越时被篡改   网络,确保您使用SSL   所有需要验证的页面   访问和限制表单   SSL通道的身份验证票证   通过在上面设置requireSSL =“true”   元件。

     

限制表单身份验证   Cookie到SSL渠道

     

在元素上设置requireSSL =“true”,   如下面的代码所示。

     

通过设置requireSSL =“true”,您可以设置   安全的cookie属性   确定浏览器是否应该   将cookie发送回服务器。   随着安全属性设置,   cookie仅由浏​​览器发送给   使用请求的安全页面   一个HTTPS URL。

     

注意:如果您使用的是cookieless   会议,你必须确保   身份验证票从不   通过无担保的传输   信道。

1 个答案:

答案 0 :(得分:2)

因为如果你打开它就需要SSL证书,那些通常需要花钱才能获得。您还可以使用浏览器会话来控制非安全信息 - 以及一些可能完全是您想要做的所有公共网站。在这种情况下,有人偷了另一个人的会话cookie没有透露任何敏感信息 - 那么为什么要花费购买和安装SSL证书的费用呢?