2014-12-05 134 views
1

我使用JSON API來獲取網站的數據。我意識到可以使其安全的各種方法,但是我的情況與常用方法不同。PHP - 保護RESTful API請求

由於跨域問題,我必須創建一個API文件夾,其中包含對REStful API執行cURL請求的各種PHP文件。然後我通過我的網站上的AJAX請求這些本地PHP文件。在下一個版本中,它應該是JSONP來避免這個問題。

許多這些JSON請求包含敏感信息,所以我做的第一件事就是檢查HTTP Referrer,以便在檢查JavaScript代碼並嘗試在其瀏覽器上運行時檢查URL。這顯然不安全,我也不應該依賴它。

我可能會嘗試發送到請求的任何數據都將通過JavaScript進行處理,因此類似於API密鑰或令牌的內容會顯而易見,並且會破壞整個目的。

有沒有辦法阻止這些PHP文件在網站外運行?基本上讓他們無法訪問?

+0

使用會話,需要一個cookie,這是一個解決方案嗎? – 2014-12-05 16:47:55

+0

我正在調查PHP sesisons,看看是否有幫助。我已經向登錄用戶唯一的請求發送了3個cookie。因此,如果用戶登錄,那麼他們可以成功運行API URL。或者你在談論另一個cookie? – jstudios 2014-12-05 16:51:25

+1

我正在討論證明用戶已登錄的會話cookie。 – 2014-12-05 16:52:41

回答

0

這不需要對REST做任何事情。您有一個服務器端REST客戶端,您可以在其中使用cURL調用REST服務,並且瀏覽器無法看到此過程的任何內容。在你不想爲這個AJAX客戶端構建自己的REST服務之前,這只是一個普通的Web應用程序(從瀏覽器和AJAX客戶端的角度來看)。正如洛倫茲在評論中所說,你應該像平常那樣使用會話。就這樣。如果您想限制訪問某些頁面,您可以使用訪問控制解決方案,例如基於角色的訪問控制非常普遍。