![](/img/trans.png)
[英]How secure are Cookies when set by an ASP.NET web application?
[英]Secure flag not set to Cookies in .Net application
我在我的 Web.Config 和 Global.asax.cs 文件中包含了以下代码行。 仍然当我在浏览器中使用开发人员工具时,我可以看到安全标志未设置为下面的 Cookie。
还在我的 IIS 中配置了 SSLSettings(选中的复选框需要 SSL)。
我想为所有 Cookie 设置 Secure 属性,不仅要接收,还要设置发送的 cookie。 请提出任何建议。
在 Web.config 中:
<httpCookies requireSSL="true"/>
在 Global.asax.cs 中:
protected void Application_EndRequest(object sender, EventArgs e)
{
if (Request.IsSecureConnection == true && HttpContext.Current.Request.Url.Scheme == "https")
{
Request.Cookies["ASP.NET_SessionID"].Secure = true;
if (Request.Cookies.Count > 0)
{
foreach (string s in Request.Cookies.AllKeys)
{
Request.Cookies[s].Secure = true;
}
}
Response.Cookies["ASP.NET_SessionID"].Secure = true;
if (Response.Cookies.Count > 0)
{
foreach (string s in Response.Cookies.AllKeys)
{
Response.Cookies[s].Secure = true;
}
}
}
}
有两种方法,web.config 中的一个 httpCookies 元素允许您打开 requireSSL,它只传输所有 cookie,包括仅在 SSL 中的会话以及表单认证,但是如果您在 httpcookies 上打开 SSL,您也必须在表单内部打开它配置也是。
<form>
<httpCookies requireSSL="true" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.