我有两个页面P1.aspx(登录页面)和P2.aspx(重定向页面),都配置了SSL。 在P1.aspx中,我用" Secure"创建了身份验证cookie。属性设置为" true"并添加到P1.aspx的响应对象中。
但是当页面从P1.aspx重定向到P2.aspx时,P2.aspx请求中的身份验证cookie会显示cookie" Secure"财产为"假"。我不明白为什么"安全"属性设置为" false"请求cookie。
答案 0 :(得分:1)
如果您正在检查服务器端的安全性,那么它将不会成立,因为浏览器不会发回此属性。但是如果你在Chrome DevTools中检查它,那么你会发现这个cookie有Secure = true。
以下是wiki的引用:
除了名称 - 值对,服务器还可以设置这些cookie属性:cookie域,路径,到期时间或最大年龄, 安全标志和HttpOnly标志。 浏览器不会发送Cookie 属性返回服务器。他们只会发送cookie 名称 - 值对。浏览器使用Cookie属性来确定 何时删除cookie,阻止cookie或是否发送cookie (名称 - 值对)到服务器。
因此,您在请求中没有安全属性,并且在发送时将其置于响应中,这是完全没问题的。浏览器只是不在每个请求中发回它,但它仍然使用它,如果请求不是HTTPS,那么浏览器将不会使用此cookie