如何阻止多次查询特定参数的请求?

时间:2019-05-17 07:08:31

标签: java spring weblogic

我们有一个由Spring boot编写的Web应用程序。在UI上使用angular。通过Rest调用进行UI和后端对话。基本上,我们的其余端点会根据发送的参数返回价格。

我们担心的是,我们的竞争对手可能会通过自动系统发出请求来透露我们的价格。让我给你举个例子。请参见下面的虚拟请求。

  {
    product: '1',
    age: '20',
    city: '10',
    gender: 'M',
    ...//some other params has no effect on price
  }

假设响应价格为$ 100

  {
    product: '1',
    age: '21',
    city: '10',
    gender: 'M',
    ...//some other params has no effect on price
  }

假设响应价格为$ 95

如图所示,通过更改年龄值,客户可获得5美元的折扣。我们有很多参数会影响价格,而其他很多参数都不会影响价格计算。

我们想要做的是:如果用户通过更改对计算有影响的参数(年龄,城市等)在指定的时间范围内发出超过x次的请求,则将阻止该用户的请求达Y小时。如果用户仅更改无效参数,则跳过该参数并允许请求。

我真的不知道我可以使用哪些搜索词。如果可能的话,我们想用Spring产生解决方案。

0 个答案:

没有答案