ASP.NET 后台 COOKIE 的设置

这几年经常与安全打交道,深知 COOKIE 对一个网站的安全影响有多大,所以在编写相与 cookie 相关代码的时候,都会特别的小心。

最近做一个系统,有几个地方用到 cookie, 然后统一把 cookie 的几个属性都设置为自己认为最安全的状态: httponly: true, secure: true, samesite: strict。

然后发现,在使用 ajax 请求的时候, 服务器端服务了 cookie (有 set-cookie 头),但是再请求其他页面时,发现通过 ajax 请求设置的 cookie 都没有带过去, 通过开发者工具查看网站下面的 cookie,发现里面也没有。然后把同样的代码,放到一个普通的请求页面,发现设置的 cookie 又没有问题。

 

经过不断的测试,终于发现是 path 和 secure 引起的问题, 因为在本地测试,所以是使用 http, 这个时候把 secure 设置为 true, 通过 ajax 请求设置的 cookie 不会设置到网站,还有一个就是 path, 之前没有设置,导致 cookie 也不生效,最终把 secure 设置为 false, path 设置为 / 就好了。

posted @ 2019-11-20 14:42  匡匡  阅读(1091)  评论(0编辑  收藏  举报