2011-06-02 59 views
0

我不太清楚煮好的數據,如果一個API是去與此的方式,所以有點背景。安全地通過API嚮應用程序和網站駐留

我一直在建立具有數據和工具的一個非常有用的一組人來運行一個網站後端。正如人們所期望的那樣,前端也使用相同的數據向客戶展示。移動應用程序可能會在不久的將來添加,以便通過應用程序對網站進行更改。但後端可能會像標準腳本一樣進入任何網站(即它不是集中存儲,也不會在客戶和我們之間來回傳輸數據)。

所以,我認爲,解決這個問題的最好辦法是使該網站的API。當然,對於訪問API的應用程序來說,它需要一個密鑰來通過API進行身份驗證(最終用戶可以通過它的後端進行設置)。但是,我希望後端和前端能夠使用API​​來訪問相同的數據,因此不需要兩次寫入。

我敢肯定,很顯然,API是一個新的東西給我,他們是。但是,我正試圖改進和調整我的編碼以提高效率。

我想也許該API也許可以做一些檢查從查詢的位置,看它是否是本地請求(後/前端),或通過一個應用程序(其利用了鍵+用戶認證)。那麼如何確保後端和前端能夠安全地訪問API,而沒有人可以通過欺騙來訪問它。我想象這些檢查可能在請求URL上,但我擔心這可能是欺騙性的,或者其他的東西(可以檢查)可能被欺騙。什麼是允許本地訪問的最佳方式?有什麼不能被欺騙嗎?

我知道我可以在密鑰中寫入代碼,但由於代碼是分佈式的,我不希望此訪問密鑰公開 - 我也不想手動更改每個網站的密鑰 - 也不希望我真的希望最終用戶在安裝過程中輸入一些隨機字母和數字。

回答

0

您應該使用公鑰/私鑰。您的前端/後端,移動版本,甚至第三方開發人員將使用他們的密鑰進行相互認證。

+0

聽起來像您所說的將前端/後端的密鑰硬編碼到PHP代碼中?但是,那麼一切意味着一個人在代碼中找到關鍵字,那麼他們可以從每次安裝中訪問每個API?如何確保請求僅來自應該來自的網站? – MrJ 2011-06-02 14:12:51

+0

我建議你閱讀這篇維基百科文章: http://en.wikipedia.org/wiki/Public-key_cryptography – 2011-06-02 22:45:15

相關問題