仅允许从移动应用程序到Node.js服务器的请求?

时间:2016-12-03 10:00:40

标签: android ios node.js security

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

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

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

我想我正在寻找的是一些良好的安全措施,可以防止此类滥用,而不会对后端的效率造成太大的阻碍。

2 个答案:

答案 0 :(得分:1)

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

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

最好的做法是限制API提供的信息。

答案 1 :(得分:0)

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

  

'Mozilla / 5.0(Linux; U; Android 4.0.3; en-in; SonyEricssonMT11i   Build / 4.1.A.0.562)AppleWebKit / 534.30(KHTML,类似Gecko)版本/ 4.0   Mobile Safari / 534.30'

设备类型可以从用户代理值中提取,我们可以根据请求添加限制。

请检查Mobile Detect以便轻松提取。