网站诊断博客,优化是什么意思,合肥网站建设哪家好,推广公司运营模式今天在帮同学解决一个小问题#xff0c;差点阴沟翻船。 问题再现#xff1a;他从github上拉了一个项目下来跑#xff0c;结果发生跑不通问题出现在验证码一直不对。 我一看项目源码#xff0c;验证码生成后存储再session中了#xff0c;等用户发送请求验证的时候sessionI…今天在帮同学解决一个小问题差点阴沟翻船。 问题再现他从github上拉了一个项目下来跑结果发生跑不通问题出现在验证码一直不对。 我一看项目源码验证码生成后存储再session中了等用户发送请求验证的时候sessionId变化了导致通过session获取验证码是一个null。
发现问题 经过各种测试发现sessionId每次请求进来都是生成一个新的。这个是问题所在
尝试解决 网上有方案说配置前端携带cookie: xhrFields: {withCredentials: true},后端再配置跨域可以解决问题我实践过这种方案还是不行。
解决问题 后来发现后端的项目地址为localhost:8080,前端页面为http://127.0.0.1:5500/login.html。我把127.0.0.1改为localhost就解决了这个问题。127—localhost或者localhost----127都会跨域。
原理解析 后来查资料发现确实是跨域的问题虽然localhost会被解析成127.0.0.1访问但是还是会跨域跨域你的域名 端口 协议变动了就是跨域。跨域让cookie无法被传递sessionId是存储在cookie中的所以后端每次都认为请求是新的请求没有sessionId就直接创建了。