2015-02-05 57 views
0

我正在開發一個應用程序來搜索事件。我正在使用backbone.js來構建這個應用程序。我有一些Web服務來獲取有關事件的信息。例如,我有一個Web服務來獲取數據庫中的所有事件,另一個Web服務可以獲取有關事件ID的信息等等......我想知道是否有可能保護我的Web服務,因爲人們可以不能訪問。保護休息的網絡服務

在我的代碼我有一個集合,具有相應的web服務的URL:如果我訪問DevTools在Web瀏覽器中,用一些搜索我能找到Web服務URL

ev.models.ImagemCollection = Backbone.Collection.extend({ 

    url: 'http:/.../.../webservices/services/events/', 

    initialize: function(){ 
     console.log("Collection Home Inicializado"); 
    } 

}); 

,但我想要以某種方式隱藏這些信息。

有什麼想法?

回答

0

RESTful路由配置在您的後端,如果您不想讓用戶訪問它們,您需要在路由命中之前在您的後端路由上創建一個過濾器。

當您(例如)只想在用戶驗證時授予訪問權限時,就是這種情況。您在路線上應用的過濾器是自定義的,您可以以任何您想要的方式對其進行定義;在這種情況下,過濾器檢查「認證」狀態。
每當用戶沒有進行身份驗證時,您的過濾器就會從後端返回一條消息,並說出類似於例如。 「你需要先認證。」

+0

好的,但我的內部頁面從數據庫中獲取事件,用戶應該看到事件。如果只在用戶進行身份驗證時授予訪問權限,則用戶無法在原始頁面中查看事件。 :/ – seal 2015-02-06 00:04:25

+0

好吧,我明白了。你真的不想保護網絡服務,你只是想隱藏網址?你不能真正「保護」它,因爲你指出你真的想在首頁加載事件,這使得每個人都可以訪問這些事件......當你發出一個RESTful請求時,瀏覽器的導航標籤顯示該請求所針對的URL,因此它永遠不會是私人的。你唯一能做的就是監控流量。 – Trace 2015-02-06 01:40:45

+0

是的,基本上我想這個網址不希望它對其他用戶可見。如果我在php中創建一箇中間件,向PHP文件發送一個請求,然後從中獲得響應。這可能有幫助嗎? – seal 2015-02-06 01:49:20