ASP.NET在HTTP和HTTPS上保护Cookie

时间:2013-08-02 12:26:29

标签: c# javascript asp.net security cookies

我的网站同时包含HTTP和HTTPS页面。

我已尝试以下方法使Cookie安全:

  • 带有表单身份验证的Web.config <httpCookies requireSSL="true" />
  • 强制Cookie在Application_End
  • 保护

在这两种情况下,页面都不适用于HTTP。我认为上述解决方案仅在所有页面都使用HTTPS时才有效。

如何解决这个难题?

2 个答案:

答案 0 :(得分:8)

将Cookie设置为“安全”的整点是通过https传输; http页面不会收到它的副本。来自Wikipedia

  

安全cookie启用了安全属性,仅通过HTTPS使用,确保在从客户端传输到服务器时始终对cookie进行加密。这使得cookie不太可能通过窃听暴露于cookie盗窃。

如果您想使用安全cookie,您需要确保所有页面都使用https。

答案 1 :(得分:3)

问题:如何解决这个难题,需要对需求进行分析,看看在整个网站或http&amp;组合中使用https会更好。 HTTPS。

由于您还要求在上述评论中提供替代方案,我希望以下信息可以帮助您确定替代方案

<强>背景

基本上,您对所有与敏感数据无关的页面使用http,对具有敏感数据的页面使用https。 很多时候我们不喜欢对整个网站使用https,因为传输的数据更多,加密和解密它们需要时间,从而累计加载/显示页面所需的实际时间。

然而,有反对上述常见概念的论据,您也可以鼓励在整个网站上使用https。检查一下:How to implement HTTPS only on part of website?

并且,是的,安全cookie只能在https个页面上使用。

一些建议