小程序
小游戏
企业微信
微信支付
扫描小程序码分享
需求:获取验证码
问题:左侧为小程序,右侧为浏览器
小程序通过wx.request获取的验证码,后端校验不通过,浏览器没有问题,有了解这块的大神吗?
是因为服务端做了“防盗链”的控制吗?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
来说说我遇到过的短信验证码的解决方法。
1)、生成短信验证码:
wx.request({
url:url,
data:data,
method:
'POST'
,
success:(res)=>{
if
(res && res.header && res.header[
'Set-Cookie'
]) {
wx.setStorageSync(
'cookieKey'
, res.header[
]);
//保存Cookie到Storage
}
})
2)验证短信:
let cookie = wx.getStorageSync(
);
let header = {};
(cookie) {
header.Cookie = cookie;
header: header,
关键点在于,生成的时候,将服务端返回的cookie放到本地存储里,然后验证的时候再取出来提交,这样就能保证本地和服务端一致
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
最初我也尝试用的cookie这种方案,不过没用,我外链的网站,服务端不在本地
小程序referer不可修改
这个我了解的,我比较疑惑的是验证码校验不通过和这个rederer有关系吗?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
来说说我遇到过的短信验证码的解决方法。
1)、生成短信验证码:
wx.request({
url:url,
data:data,
method:
'POST'
,
success:(res)=>{
if
(res && res.header && res.header[
'Set-Cookie'
]) {
wx.setStorageSync(
'cookieKey'
, res.header[
'Set-Cookie'
]);
//保存Cookie到Storage
}
}
})
2)验证短信:
let cookie = wx.getStorageSync(
'cookieKey'
);
let header = {};
if
(cookie) {
header.Cookie = cookie;
}
wx.request({
url:url,
data:data,
header: header,
method:
'POST'
,
success:(res)=>{
}
}
})
关键点在于,生成的时候,将服务端返回的cookie放到本地存储里,然后验证的时候再取出来提交,这样就能保证本地和服务端一致
最初我也尝试用的cookie这种方案,不过没用,我外链的网站,服务端不在本地
小程序referer不可修改
这个我了解的,我比较疑惑的是验证码校验不通过和这个rederer有关系吗?