2016-08-20 101 views
2

我有一個多平臺項目。正確的方式來驗證客戶端和服務器端的令牌?

它有一個網絡側和它的機器人的一面。你們建議如何驗證我正在從Web服務交談的客戶端是我的Android客戶端?有誰知道我應該如何鑑定這兩個?

我在考慮在user表中保存一個令牌字段,其內容是基於來自客戶端的數據的一些唯一散列,可以被服務器識別。但是,我不知道我可以使用哪些信息作爲散列的基礎。

我應該使用什麼樣的客戶信息來創建作爲認證令牌使用散列值?

如果這個信息是必要的,我的web服務呈現給客戶作爲RESTful API和PHP編寫服務器端。

謝謝。

回答

1

你可以在客戶端和相互使用SSL服務器通信,將服務器配置爲需要客戶端證書。有關更多信息,請參閱https://docs.oracle.com/cd/E19424-01/820-4811/aakhe/index.html

這不,但是,保護您免受惡意黑客,誰可以提取您的客戶端證書並將其添加到它自己的應用。

+1

感謝你簡短的回答,我怎麼能保證我說的客戶端,是我的客戶,而不是一個惡意的黑客,是在注射之間的數據? –

+0

SSL/TLS負責處理之間的「通常」黑客。它不能保護你免受像政府這樣的大規模黑客的攻擊。他們有能力做一個https://en.wikipedia.org/wiki/Man-in-the-middle_attack。 我剛纔說的問題是黑客抽取/竊取您的客戶端證書並將其添加到他的黑客應用程序中。請參閱http://stackoverflow.com/questions/9763092/how-safe-are-client-ssl-certificates-in-a-mobile-app – Guenther

相關問題