Sinatra 网站部署 HTTPS 且登录后,任何 Post 请求都导致 Session 丢失,是因为被认为可能是 CSRF 攻击吗?

steve · 2018年05月25日 · 最后由 tkvern 回复于 2018年06月29日 · 3347 次阅读

登录之后提交表单发 post 请求,然后 session 丢失,又要重新登录了。 用 nginx 把 http 请求重定向到 https,是否因为 http 协议的变化,被认为可能是 csrf 攻击,从而重置了 session? 后端用的是 sinatra。希望大佬们能指点迷津。

共收到 6 条回复

POST 提交到了 http 的?为何不该为 force_ssl ?

Rails5 即使 csrf 导致 session 重置,也无任何提示,可以自己设置下,抛出异常看看。

@huacnlee @bysxiang 用的是 sinatra,我看下是否有类似的功能

steve 回复

没注意实在 sinatra 节点下。。。

默认情况下浏览器跨域是不会带 cookie 过去的,也就是说 http 转成 https 其实是跨域了,所以看起来是 session 丢失了。

改改请求地址就好了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册