2016-12-03 46 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以便於提取。

相關問題