如何在 Flutter 中保护我的 RESR API 调用?

How to protect my RESR Api calls in Flutter?

提问人:Hamza Ahmed 提问时间:12/17/2022 更新时间:12/17/2022 访问量:50

问:

我正在 flutter 中开发一个应用程序,它将在应用程序内购买。我正在跟踪节点服务器上的用户积分和其他一些东西。

我担心如果我调用我的节点 api 来增加我的应用代码中的用户积分,可以通过反编译 apk 来访问它。我不知道如何安全地调用我的 api 并保护它。

我目前只是从我的应用程序调用我的 api。我读到可以通过反编译APK来访问应用程序的源代码?如果是这种情况,那么我的代码可以更改为调用我的节点服务器,而无需在应用内购买。

我不知道这是否可能,或者这是否是一个问题。我对安全知之甚少,因为我还是一名学生。如果有人能指导我,我将不胜感激。谢谢!

node.js flutter flutter-in-app-purchase api-security

评论

1赞 Alejandro Cumpa 12/17/2022
保护通信的方法有很多种,但安全性主要由后端处理,以确认用户,而不是应用程序。 使用 2FA 或 OAuth2,标记调用、非对称 API 密钥和一系列良好做法。此外,如果您使用您的应用程序进行支付,您可以使用可以保护该部分的第三方支付网关。最后,如果有人可以反编译您的APK并查看您的代码,他们如何访问您客户的银行卡数据或将恶意代码部署到您的源代码中?
0赞 Hamza Ahmed 12/17/2022
感谢您告知我不同类型的 API 保护方法。实际上,我并不担心有人可以访问用户的卡信息,因为除非我的服务器受到攻击,否则这种情况不太可能发生。我的意思是,如果有人修改代码。就像如果用户在付款后应该获得 1000 个信用点一样,我担心如果他们可以修改源代码,他们可以从一次付款中获得更多的信用。
1赞 Alejandro Cumpa 12/17/2022
在这些用例中,将您的应用程序视为主要 UI,您始终需要在事务的后端进行双重检查,并尝试在后端进行所有事务逻辑。因此,例如:Mod Flutter App 发送 100 美元,后端为用户节省 1K 积分,Mod Flutter App 是否显示 100K 积分并不重要,因为后端具有该交易的真正价值和逻辑。应用应限制为 UI,而不是保留该逻辑。
1赞 Hamza Ahmed 12/17/2022
谢谢伙计。我想我现在对它有了更清晰的理解。谢谢你的帮助,我真的很感激。

答: 暂无答案