2014-03-03 24 views
1

我想創建一個iOS應用程序,並且我開始使用node.js + mongodb + express設計api。我知道人們可以使用charles來設置代理,當用戶在iphone設備上打開應用程序時,他們可以在charles應用程序中看到api請求。所以人們可以使用這個api來對應用程序服務或者什麼做一些傷害。我想確保我的api。我不會向其他人開放我的api。所以,我不需要oauth。我還能做些什麼來保護我的api?如果提供任何教程,那將是很好的。如何使用node.js保護我的api,並且只有我的應用程序使用此api

+0

安全性如何?如果你的應用程序可以訪問它,那麼其他任何東西都可以訪問它,而這正是非常多的。您需要設計API,以便惡意用戶無需單獨發送請求即可解決任何問題。 – loganfsmyth

回答

0

使用https執行此操作,只要確保您的應用在證書無效時停止工作即可。

替代方案: 使用全局密碼(不推薦)或手機上的公鑰和應用程序上的私鑰在發送之前/之後加密/解密您的http。

如果有人獲得該密碼或公鑰,他們仍然可以操縱該API。

+0

注意:非對稱密鑰加密(公鑰/私鑰)非常慢,不能用於直接加密數據。非對稱密鑰加密用於加密對稱密鑰,數據使用對稱密鑰加密進行加密。 – zaph

0

你想要做的就是使用https和額外的安全性。

首先:在應用程序中「插入」服務器證書,即驗證應用程序中的服務器證書,這些日子很常見。 AFNetworking支持這一點。

第二種:嚮應用程序添加證書並在服務器上驗證它。現在服務器知道它正在與您的應用進行通信。

現在,服務器和應用程序都可以確保它們與通過身份驗證的終端進行通信。

相關問題