2014-12-22 18 views
0

我最近成功地構建了一個頁面,該頁面通過ajax get調用將數據加載到REST界面(在我的服務器上運行),然後使用這些數據爲通過JS的Google地圖構建地圖疊加層。 我設法做到這一點,但現在我擔心我的數據的安全性。顯然,每個人都可以使用curl從我的REST接口加載覆蓋數據。但是,我不想讓我的數據如此容易地得到,因爲它們是我的頁面的商業價值...無需登錄即可保護REST界面

在Web上看到許多解決方案都需要用戶登錄。 但是,這不應該在我的網頁上。 有沒有一個簡單的解決這個問題,用戶不必使用登錄或什麼?基本上我只想讓我的Web應用程序從我的REST界面查詢數據,而不是其他任何人。

我的頭一個解決方案是將數據直接從PHP傳遞到JS,當頁面加載。然而,這看起來像一個真正的醜陋的解決方案...

+0

根據您的服務器是否有靜態IP,只需檢查請求者IP? –

+0

如果沒有某種最終用戶標識,您將無法保護您的數據。您可以提供一個提供數據的API,並使其「易於使用」,或者按照您的建議將其嵌入到網頁中(直​​接從PHP轉換爲JS),在這種情況下,自動讀取數據變得更加困難 - 但絕不是不可能的,因爲某人現在可以使用像CURL這樣的客戶端來訪問所有的網頁並從嵌入式JS中提取數據。如果您希望獲得公共輔助功能,您必須面對這樣一個事實,即任何可以屏蔽刮擦您的網站的人都可以使用您的數據。 –

回答

0

在RESTful接口,我想你想避免登錄到會話。你已經基本上2個方面:

  • 使用IP地址過濾,如果已知IP專用網絡上的Web應用程序運行解決
  • 在請求頭或作爲請求參數傳遞的識別標記。令牌必須在所有請求中傳遞。