2013-01-24 63 views

回答

1

如果您有一個客戶端可以訪問的API,您將無法阻止一名有經驗的技術人員使用您的API(因爲用戶可以識別存儲在客戶端中的任何祕密)。

如果你只是想防止隨意使用,那麼認證客戶端的一個相對簡單的方法是將共享的靜態祕密存儲在客戶端中,並將其用於例如HMAC based API authentication scheme

1

這裏的問題是內部類似於你問:

Provide secure Facebook authentication with my Server

這是我回答說那邊:

這就是所謂的遠程證明。這有很多問題。

你進入這個方向之前,你需要問自己兩個問題

  • 你是誰防範?

  • 我願意投資多少錢?

如果你是保護自己對學生具有非常有限的知識,誰可以寫其他移動應用程序,它會使用你的服務器,那麼你細一些共享的祕密。

如果您只是爲了防止一個稍微複雜一點的軟件工程師(誰可以對您的應用程序進行逆向工程) - 這是遠遠不夠的。這位工程師可以從您的應用程序中提取secert並將其用於他的應用程序。

您可以閱讀關於遠程證明herehere

可以保護您免受簡單逆向工程的解決方案非常複雜。

相關問題