首页 文章

安全认证cookie Asp.Net

提问于
浏览
1

我有两个页面P1.aspx(登录页面)和P2.aspx(重定向页面),都配置了SSL . 在P1.aspx中,我创建了身份验证cookie,其中“Secure”属性设置为“true”,并添加到P1.aspx的响应对象中 .

但是当页面从P1.aspx重定向到P2.aspx时,P2.aspx请求中的身份验证cookie将cookie的“Secure”属性显示为“false” . 我不明白为什么在请求cookie中将“Secure”属性设置为“false” .

1 回答

  • 1

    如果您正在检查服务器端的安全性,那么它将不会成立,因为浏览器不会返回此属性 . 但是如果你在Chrome DevTools中检查它,那么你会发现这个cookie有Secure = true .

    以下是wiki的引用:

    除了名称 - 值对,服务器还可以设置这些cookie属性:cookie域,路径,到期时间或最大年龄,Secure标志和HttpOnly标志 . 浏览器不会将cookie属性发送回服务器 . 他们只会发送cookie的名称 - 值对 . 浏览器使用Cookie属性来确定何时删除cookie,阻止cookie或是否向服务器发送cookie(名称 - 值对) .

    因此,在请求中没有安全属性,并且在发送时将其置于响应中,这是完全正常的 . 浏览器只是不在每个请求中发回它,但它仍然使用它,如果请求不是HTTPS,那么浏览器将不会使用此cookie

相关问题