登录之后提交表单发 post 请求,然后 session 丢失,又要重新登录了。 用 nginx 把 http 请求重定向到 https,是否因为 http 协议的变化,被认为可能是 csrf 攻击,从而重置了 session? 后端用的是 sinatra。希望大佬们能指点迷津。
POST 提交到了 http 的?为何不该为 force_ssl ?
Rails5 即使 csrf 导致 session 重置,也无任何提示,可以自己设置下,抛出异常看看。
@huacnlee @bysxiang 用的是 sinatra,我看下是否有类似的功能
没注意实在 sinatra 节点下。。。
默认情况下浏览器跨域是不会带 cookie 过去的,也就是说 http 转成 https 其实是跨域了,所以看起来是 session 丢失了。
改改请求地址就好了