防司机刷单问题

来源:5-21 司机微服务打击刷单,禁止其他手机卡登陆司机小程序(一)

oldcoder2222

2026-03-14

教程中给定的防司机刷单是不对的,验证的是手机号和实名认证时的手机号是否一致,这个逻辑没问题,但你微信小程序获取的手机号是微信注册时的手机号,不是sim卡上的手机号呀。那拿C手机的那个哥们登录下司机的微信不就行了。不就可以继续刷单了。所以讲师写的这个代码压根没防住。实际项目中应该使用设备指纹来解决这个问题。

写回答

1回答

神思者

2026-03-14

微信小程序获取手机号的机制是 “运营商网关认证” + “用户授权” 的组合:

  1. 用户触发:用户点击 <button open-type="getPhoneNumber"> 按钮。

  2. 用户授权:微信会弹出一个原生窗口,显示“申请获取你的手机号”,用户必须手动点击“允许”。

  3. 运营商验证

  • 微信会将用户的授权请求发送给腾讯服务器。

  • 腾讯服务器与三大运营商(移动、联通、电信)的网关进行通信。

  • 运营商通过当前手机使用的数据网络(4G/5G),验证当前设备的 SIM 卡号码。

返回加密数据:验证通过后,运营商会将手机号加密,返回给微信,微信再将其封装成一段加密字符串(codeencryptedData)返回给小程序前端。

后端解密:小程序前端将这段加密数据发送给你的后端服务器,你的服务器拿着 access_token 和加密数据去微信接口解密,才能得到真实的手机号。


0
1
oldcoder2222
老师您好,感谢您的回复,但我实际的测试是这样的,我找了一个手机,登录了微信,手机上并没有插任何sim卡。代码和您的是一样的,完全相同,按照您说的来看,不应该登录成功。但为什么登录成功了?并且我进行了测试,实名认证的手机号只要和微信绑定的手机号不一致,则登录失败。这个逻辑是没有问题的,代码没问题。但手机没有sim卡哦。照样可以登录,这样就和您上面说的冲突了。
2026-03-14
共1条回复

多端全栈项目实战,大型商业级代驾业务全流程落地

50000+代码,300+技术点,慕课网明星讲师为你私人订制

610 学习 · 454 问题

查看课程