当请求来自安全连接时,寻找ASP.NET_SessionId的解决方案应该始终是安全标志true。
完成以下步骤以实现- 1)创建MVC项目 2)在Global.asax.cs下添加了以下代码
protected void Session_Start(object sender, EventArgs e)
{
Response.Cookies["ASP.NET_SessionId"].HttpOnly = true;
if (Request.IsSecureConnection) {
Response.Cookies["ASP.NET_SessionId"].Secure = true;
}
}
工作正常,可以得到预期的结果。这是安全标志的屏幕截图。
https://i.imgur.com/eZSPzoW.png
要重现问题:
1)删除现有的Cookie
2)重置IIS
3)使用SSL加载网站
4)创建第一个会话的Cookie始终保持不安全状态 第一次会话后,所有会话cookie均保持安全。
以下是带有不安全Cookie的SSL请求的屏幕截图。
https://i.imgur.com/CKjNhyY.png
可能知道如何确保SSL请求期间cookie保持安全。另外,必须仅通过代码。