zoukankan      html  css  js  c++  java
  • 如何防止别人用抓包工具篡改接口参数?

    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;
        }
    
    }
  • 相关阅读:
    索引自我总结
    面试经典问题---数据库索引B+、B-树
    聚簇索引和非聚簇索引
    SQL2005/2008 无法连接错误
    使用SignalR实现消息提醒
    NHibernate Profiler使用方法
    Mvc model验证总结
    C# Lambda表达式
    ASP.NET MVC Razor
    msysGit管理GitHub代码
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11281298.html
Copyright © 2011-2022 走看看