2016-08-23 39 views
0

我只想問什麼是隱藏使用anugularJS敏感數據的最佳方式。AngularJS如何隱藏重要數據

我一個深化發展VOD(視頻點播)的應用程序中,我要拍電影鏈接隱藏,而不是由用戶訪問。

{ "title": "movieTitle", "link": "www.some-provider-link.com/movie-link.mp4"} 

當我需要顯示的視頻,我把這個JSON在我的範圍這樣的:

$scope.movie = moviesFactory.getMovie().then(callbackOk, callbackNonOk); 

例如,我使用$ HTTP一個moviesFactory內得到後端此JSON

我的問題是,因爲範圍使用Chrome瀏覽器擴展,甚至angular.element(document.getElementById('anElementId')).scope() 每個人都可以訪問我的範圍和看到的鏈接是用戶訪問。

那麼我做錯了什麼?我該如何隱藏這些數據?

+0

您是否將這些鏈接返回給未經認證的用戶?如果是這樣,爲什麼不僅在用戶通過身份驗證時才返回它們?您可以爲已在服務器上解析的已認證用戶生成臨時鏈接。單頁應用程序和身份驗證確實需要與傳統的服務器端渲染應用程序不同的思維方式。 –

+0

Offscourse,只有經過認證的用戶才能看電影,我希望那些經過認證的用戶無法看到源 –

回答

0

您不能直接通過這種方式,因爲javascript 在客戶端執行(並且您沒有完全控制您提供給客戶端的源)。

並分享(加密/模糊或不)你的完整文件的網址('www.some-provider-link.com/movie-link.mp4')這不是一個好主意,如果你擔心的隱私這些文件。

您應該考慮包括某種身份驗證(如tokens)並在您的服務器中創建一個API,以便在用戶通過身份驗證時爲您提供所需的所有數據(如.mp4文件)作爲字節流。

+0

我已經在使用令牌認證。只有經過認證的用戶才能觀看電影,我希望那些經過認證的用戶不能看到我的鏈接,然後直接從提供商網站下載視頻。你是指什麼字節流? –

+0

我的意思是說,你的服務器可能作爲你的提供者鏈接的橋樑:用戶A想要'kitty meow.mp4',向你的服務器發出api請求,要求提供kitty meow.mp4,你的服務器從提供者處獲取文件並返回到你的客戶端(作爲一個字節流)。這就是我能想到的。 – Luxor001