计算报价,并通过JS更改产品的价格.有更安全的方法吗



所以现在我正在根据用户输入计算报价,其中包括:"收音机选项1、收音机选项2、持续时间和距离">

我使用JS根据用户的选择更新报价,然后它更新表单中的一个字段,该字段用作发送到条带的价格。

我该如何确保安全,我是否必须废弃JS,因为如果用户进入我的Javascript进行一些搜索,他们可以找到计算并更改它。

function calcQuotePrice(state, deliv_dist, chauffeur_dist){
var base_price = map[currentCarSelected]['basePrice'];
var date1 = dateConverter(jQuery('#from').val(), jQuery('#fromTime').val());
var date2 = dateConverter(jQuery('#to').val(), jQuery('#toTime').val());
var duration = dateDiffInDays(date1,date2);
var durationCost = dailyModifier(duration, base_price);
var deliveryCost = calcDeliveryCost(deliv_dist);
var totalCost = durationCost + deliveryCost;

if(state === 'pick up'){
totalCost = durationCost;
}
else if(state === 'delivered'){
totalCost = durationCost + deliveryCost;
}
else{
var chauffeurCost  = calcChauffeuerCost(chauffeur_dist, base_price);
totalCost = deliveryCost + chauffeurCost;
}

jQuery('#quotePrice').find('p').html('Quote Price: £' + numberWithCommas(totalCost.toFixed(0)));
jQuery('#price-field').val(totalCost);
}

我的问题是,我该如何以安全的方式做到这一点?

任何前端代码本质上都是不安全的,并且可由用户编辑。

为了确保这样的安全,在将东西发送到Stripe等支付引擎之前,通常使用后端来计算成本并验证输入。

或者,如果你想保持简单,你可以接受有人试图用Stripe向你支付错误金额的风险,然后在给他们产品之前,你只需检查他们在Stripe上向你支付的金额。

可能发生的最糟糕的情况是什么?你是否暴露了你的Stripe API密钥,以便他们可以给自己退款?还是你只是让他们付给你一个不正确的金额,这是他们给你钱的错,而你有责任给他们什么作为回报,这就成了一个法律问题。

相关内容

  • 没有找到相关文章

最新更新