2016-12-03 51 views
1

我有两个应用程序Android和iOS通信到一个后端Node.js服务器。有没有办法只允许来自这些应用程序的请求?像某种API密钥方法?我试图考虑仅从这些应用程序过滤请求的方式,但我想我被卡住了。只允许来自移动应用程序的请求到Node.js服务器?

我们确实拥有身份验证令牌系统的登录名,但是阻止用户采用相同令牌并滥用外部应用程序的请求?

我在考虑加密所有来自移动应用程序的请求,并以相同的方式在后端解密,但担心需要大量计算。什么是阻止用户使用相同的加密请求并滥用它?

我想我正在寻找的是一些很好的安全实践,可以防止这种滥用,而不会对后端的效率造成太多障碍。

+0

使用基本认证或维护authtocken –

回答

1

基本上,你不能。但是你可以尝试限制它。

您的应用程序将位于您无法控制的设备上。任何人都可以像API Token一样从中提取信息。他们可以做一些逆向工程,并使用另一种工具使用您的API。

最好的办法是限制您的API给出的信息。

0

我们可以通过using req.headers['user-agent']尝试,值将是

“的Mozilla/5.0(Linux的; U;安卓4.0.3; EN-中; SonyEricssonMT11i 编译/ 4.1.A.0.562)为AppleWebKit/534.30 (KHTML,例如Gecko)版本/ 4.0 移动Safari/534.30'可以从用户代理值被提取并且可以根据要求添加限制

设备类型。

请检查Mobile Detect以便于提取。

相关问题