2015-08-17 58 views
2

如何確保API由我們的應用程序本身調用,而不是第三方應用程序。如果我們使用應用程序密鑰,人們可以逆向工程我們的應用程序並獲得應用程序密鑰那麼如何確保沒有其他人使用該API?知道我們的應用程序或第三方應用程序是否調用了API?

+0

「那麼如何確保沒有其他人使用該API?」簡單。你沒有。你嘗試的一切都是徒勞的。 Ask whatsapp – PeeHaa

+0

你指的是什麼樣的「API」?您是指您的Android應用程序向其他Android應用程序提供的某種形式的IPC?您是指通過互聯網提供的某種API,例如Web服務的API?你是指別的東西嗎? – CommonsWare

+1

@CommonsWare:我認爲用戶指定由他創建的APIs/Webservices用於他的應用程序。 –

回答

0

如果是用戶信息,請將用戶身份驗證添加到您的api流程中。除此之外,我能想到的最好的方式是讓每個用戶都給你他們的電子郵件地址,並且向他們發送一個鏈接,以便他們可以在你的網站上進行驗證。然後,您的API僅允許完全訪問已驗證的用戶。

1

在這種情況下,沒有什麼是100%的安全,但你可以盡力保持你的密鑰加密在你的應用程序內。用一些salt加密密鑰以從服務器請求會話令牌(使其有效時間相關)並使用xcsrf令牌。每次都做一次潛在登錄。

使用ProGuard來混淆您的代碼。 有人提出DexGuard(我沒有用過這個),但是延遲了逆向工程。

相關問題