我们有一个由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产生解决方案。