2014-02-10 37 views
0

我創建API的訪問從IOS app.there是登錄和registeraion頁面也在訪問我的PHP API PHP服務器會話。 當用戶訪問api時,從用戶的ios代碼userid被髮送爲post。 如果用戶ID在數據庫中匹配,則允許用戶繼續使用API​​呼叫,否則向用戶顯示「無效請求」消息。我們應該創建使用從移動

我應該繼續使用這種方法還是當用戶登錄然後在PHP服務器我需要存儲用戶信息在PHP會話,而不是每次發送用戶名到PHP我應該選擇使用ID從PHP會話。

任何人都可以幫助我更好的方法與原因。 我發現沒有使用維護會話在PHP服務器。會議是在ios方面mentaioned。

回答

1

你描述的是認證的人非常不安全的方式:

  • 大家誰嗅着談話以後可以使用API​​。

  • 一個甚至可以很容易做的蠻力攻擊,你必須要嘗試這將可能只需要幾分鐘名稱的長度適中所有可能的名字。

因此,您應該實施某種挑戰來確保身份驗證。最簡單的(儘管最不安全)是一個額外的密碼。而且你必須加密客戶端和服務器之間的對話。

上述工作完成後,你一定要在服務器端使用會話。會話允許僅對用戶進行一次認證。這爲後續請求節省了很多麻煩。

唯一的選擇,但是非常乾淨的方式我能想到的是使用對服務器進行身份驗證客戶端客戶端的SSL證書。這是非常的安全,但您需要爲每個客戶端創建並安裝證書。

1

您基本上正在尋找一種用於保護您的Web服務API的身份驗證方法。

嘗試實現OAuth的,因爲它是最安全的方式,提供給其他客戶端API訪問之一。

它基本上是這樣工作的。

對於您註冊的每個用戶,誰需要你生成一個身份驗證令牌爲他們的API訪問權限。然後,他們需要向您註冊一個客戶端應用程序,爲其生成密鑰和令牌。當客戶端應用程序發送請求時,第一個請求必須在您的應用程序必須驗證的請求中包含密鑰和身份驗證令牌,併發送確認令牌。然後您可以安全地進行後續請求。

以上只是oauth的一個要點。要獲得更好和更詳細的實施,請參閱下面的鏈接。

http://www.slideshare.net/mohangk/securing-your-web-api-with-oauth

http://techblog.hybris.com/2012/06/11/oauth2-resource-owner-password-flow/

How to get started with OAuth to secure a Web API application?

相關問題