注意:这不是一个与ASP.NET属性相关的RequireSSL MVC问题。这是完全不同的-只是有相同的名字。
ASP.NET窗体身份验证具有RequireSSL属性,该属性要求只通过SSL发送用于ASP.NET成员资格的auth cookie。这是为了防止某人窃取cookie (例如通过网络嗅探)和冒充用户。
因此,我想知道--考虑到MS所做的所有安全意识的更改(比如使httpOnly曲奇默认),为什么requireSSL不默认为true呢?
饼干嗅探被认为是“消极的”安全风险吗?
除非连接实际上允许我访问安全/个人数据,否则让它假是否被认为是一种可接受的风险?如果这是不可接受的-我应该如何返回一个用户到http,但仍然知道他们是谁?
若要防止跨网络时捕获和篡改窗体身份验证cookie,请确保对需要通过身份验证访问的所有页使用SSL,并通过在元素上设置requireSSL="true“将窗体身份验证票证限制在SSL通道上。 将窗体身份验证cookie限制在SSL通道上 在元素上设置requireSSL="true“,如下代码所示。 通过设置requireSSL="true",可以设置secure属性,该属性确定浏览器是否应该将cookie发送回服务器。使用安全属性集,浏览器只将cookie发送到使用HTTPS URL请求的安全页。 注意:如果您使用的是无炊具会话,则必须确保身份验证票证从未在不安全信道上传输。
发布于 2010-11-25 12:43:45
因为如果打开SSL证书,则需要SSL证书,而这些证书通常需要花钱才能获得。您也可以使用浏览器会话来控制非安全信息--在某些公共网站中,这可能正是您想要做的。在这种情况下,窃取另一个人的会话cookie并不会泄露任何敏感信息--那么为什么要花费大量的成本来购买和安装SSL证书呢?
https://stackoverflow.com/questions/1685502
复制相似问题