2014-02-16 117 views
0

我正在創建一個應用程序,其想法是應該在付費和免費版本中找到它。使用證書或其他身份驗證對web服務進行驗證

這兩個版本都依賴於後臺的Web服務,以便對數據庫進行查詢。這是整個項目的真正內容和核心。

免費版本允許用戶進行查詢等,而完整版本可以進行查詢,但也可以下載部分請求的項目。換句話說,完整版本不會需要完整的互聯網訪問。

我的問題是,我想盡我所能避免第三方可以創建自己的前端並使用我的web服務/數據庫。我想避免將任何用戶信息存儲在服務器上,這一事實使身份驗證和授權變得更加複雜。

我一直在尋找解決方案的論壇,因爲我們正在編寫2014年,可能會有一些建議比我發現的更好,其中大部分都包含用戶名或某種類型的標記。

我現在看到的唯一解決方案是使用證書在應用程序和服務器中使用以驗證和授權。也許甚至可以通過爲應用程序和服務器每個月創建一個新證書來擴展它。

現在我可以自由地用我選擇的任何語言和框架開發服務器端解決方案。

有沒有人有一個明確的解決方案,如何避免沒有應用程序的人訪問Web服務資源?

回答

1

如果沒有在服務器上存儲信息,沒有辦法做到這一點。其他任何事情都需要你信任來自你沒有物理控制的客戶端的數據,這是一個安全錯誤。

現在如果您想要90%的解決方案,您可以使用https訪問您的服務器並在每個請求中發送密鑰。密鑰將是隨機的128位或256位數字。使用不同的付費和免費。如果他們沒有傳送正確的號碼,請發送錯誤代碼而不是真實的數據。

現在任何真正關心的人都可以對此進行逆向工程並破壞您的代碼,因爲身份驗證數據是客​​戶端。但實際上只有少數人會關心,即使你的應用程序變得足夠大以至於不在意。

+0

至少它值得一試!我完全認爲它不是銀子彈......但是,當試圖獲得信息時,人們至少應該有一些有點挑戰。 –

相關問題