我在 UAT - 的代码行中发现requireSSL="true"了不安全服务器(没有 SSL)中的属性
问题。web.config<httpCookies httpOnlyCookies="true" requireSSL="true" lockItem="true" />
对于 CSRF(跨站点请求伪造)修复,我们使用:
var requestCookie = Request.Cookies[AntiXsrfTokenKey];
我们无法从不安全的服务器读取安全 cookie。因此,对于不安全的服务器,web.config 中的 requireSSL 属性应该为 false。
如果我们让requireSSL="false"CSRF 修复工作正常,但所有 cookie 都变得不安全,这会产生其他问题[Missing Secure Attribute in Encrypted Session (SSL) Cookie]。
我们还附加了 CSRF 修复代码,其中页面中的事件PreventCSRF()正在调用该函数。OnInit(EventArgs e)Default.aspx.cs
在本地,我们没有 SSL,requireSSL="false"可以正常使用 CSRF 修复,但不能用于[Missing Secure Attribute in Encrypted Session (SSL) Cookie]. 所以修复 CSRF 和[Missing Secure Attribute in Encrypted Session (SSL) Cookie]问题是相互依赖的。
有2个查询-
与 UAT 一样,SSL 在负载平衡器级别进行管理,IIS 盒子中没有安装 SSL 证书。我们可以使用 读取安全 cookie
Request.Cookies[AntiXsrfTokenKey]吗?如果我们这样做了,
requireSSL="false"那么 CSRF 修复工作正常,但所有 cookie 变得不安全意味着所有 cookie[Missing Secure Attribute in Encrypted Session (SSL) Cookie]的问题仍然存在。