防司机刷单问题
来源:5-21 司机微服务打击刷单,禁止其他手机卡登陆司机小程序(一)
oldcoder2222
2026-03-14
教程中给定的防司机刷单是不对的,验证的是手机号和实名认证时的手机号是否一致,这个逻辑没问题,但你微信小程序获取的手机号是微信注册时的手机号,不是sim卡上的手机号呀。那拿C手机的那个哥们登录下司机的微信不就行了。不就可以继续刷单了。所以讲师写的这个代码压根没防住。实际项目中应该使用设备指纹来解决这个问题。
写回答
1回答
-
神思者
2026-03-14
微信小程序获取手机号的机制是 “运营商网关认证” + “用户授权” 的组合:
用户触发:用户点击
<button open-type="getPhoneNumber">按钮。用户授权:微信会弹出一个原生窗口,显示“申请获取你的手机号”,用户必须手动点击“允许”。
运营商验证:
微信会将用户的授权请求发送给腾讯服务器。
腾讯服务器与三大运营商(移动、联通、电信)的网关进行通信。
运营商通过当前手机使用的数据网络(4G/5G),验证当前设备的 SIM 卡号码。
返回加密数据:验证通过后,运营商会将手机号加密,返回给微信,微信再将其封装成一段加密字符串(
code或encryptedData)返回给小程序前端。后端解密:小程序前端将这段加密数据发送给你的后端服务器,你的服务器拿着
access_token和加密数据去微信接口解密,才能得到真实的手机号。012026-03-14
相似问题