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

steve · May 25, 2018 · Last by tkvern replied at June 29, 2018 · 7349 hits

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

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

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

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

Reply to steve

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

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

改改请求地址就好了

You need to Sign in before reply, if you don't have an account, please Sign up first.