我正在使用Stripe和Firebase功能进行付款。我当前在应用程序中购买商品的情况如下。
stripeSourceId
,itemID
和item.price
我的关注点是第4点。用户是否可能以某种方式入侵我的前端代码,以便在Stripe返回sourceId
之后,黑客会以不同的价格或different itemId以另一个价格获得不同的商品?如果是这种情况,我该如何解决这个问题?
答案 0 :(得分:1)
您从客户端传递到服务器的任何内容都可能被恶意用户更改。这就是为什么您永远不要信任直接来自服务器的任何数据。
解决方案是仅传递来自客户端的itemID,并让服务器根据该价格查询价格。如果恶意用户传递了不同的商品ID,那么他们将只是在购买其他商品,但价格仍然是您设定的价格。
我强烈建议观看Firebase Summit 2018上的Five tips to secure your app,以获取有关保护应用程序安全的更多提示。