如何防止别人用抓包工具篡改接口参数?
1,案例
1 分钱买带电脑。购买电脑,在调用支付接口之前,利用类似Fiddler等抓包工具,定位到支付接口,将参数(金额)修改为0.01元。结果是:电脑购买成功,一个月之后成功入狱。
2,怎么避免让别人用抓包工具修改参数呢?
基于token 方式隐藏参数。
3,代码实现
@RestController public class PayController extends BaseApiService { @Autowired private BaseRedisService baseRedisService; private static long timeToken = 15 * 60l; @RequestMapping("/pay") public ResponseBase pay(String token) { // 获取提交参数 数据库保存., if (StringUtils.isEmpty(token)) { return setResultError("token 不能为空!"); } String reuslt = (String) baseRedisService.getString(token); if (StringUtils.isEmpty(reuslt)) { return setResultError("参数不能空!"); } System.out.println("获取提交的参数reuslt:" + reuslt); return setResultSuccess("获取提交的参数reuslt:" + reuslt); } @RequestMapping("/getToken") public String pay(Long userId, Long money) { String payToken = UUID.randomUUID().toString(); baseRedisService.setString(payToken, userId + "-" + money, timeToken); return payToken; } }
Aimer,c'est partager
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步