2014-02-16 39 views
-3

我很確定我要聽起來像一個總共....在這裏,但我只是要問!.JS文件安全性,如何阻止它們被讀取

我們正在使用Stackmob作爲我們正在開發的移動應用程序的後端,我已經通過了示例,它很好(使用xcode等)。就樣本而言,這一部分沒有問題。

我想要訪問通過Web應用程序存儲的數據,所以我還抓取了示例文件,index.html和app.js文件(即它給了我什麼),我跑了它,賓果遊戲,我收到了我的數據,我可以添加和刪除條目,我刷新了移動應用程序,似乎通過魔術,它出現了。

所以,我的問題......我只是把這兩個文件放在我的hostgator LAMP服務器上,然後運行它們,好極了,都顯示爲'正常'。然後,我右鍵單擊並檢查該頁面,如果有人感興趣,我所有的連接字符串和應用代碼都可以看到。

這顯然是一個相當大的安全問題。所以,我向我的開發人員提到了這一點,他說我們不能使用使用JQuery進行連接的方法(我認爲是這樣),但我不確定它是否正確。當然,有一種方法可以加密這些數據或將其放置在一個目錄中,以便它不可見?我搜索過網頁,並且HTML5/JQUERY/CSS無處不在,所有這些都不可能不安全?

只需要問我下一步學習這些東西,以及初學者是否有一個很好的鏈接來說明如何實現這個目標?

任何援助將不勝感激。

問候,

+1

對不起,我沒有看到你提出的問題的重點。雖然有權訪問某個應用程序的用戶確實可以看到該應用程序的某些部分,並將其應用於此的數據確實不意味着*任何人*都可以看到該數據。有兩件事很重要:1.通過網絡傳輸的數據是加密的(_really_加密,而不僅僅是混淆),並且持久存儲的數據是加密的。如果在共享系統上工作,那麼內存中的數據也必須加密。用戶看到他自己的數據時沒有安全問題。 – arkascha

回答

0

目前尚不清楚你試圖保護哪些部件。大多數應用程序都由客戶端和服務器端代碼組成。客戶端代碼由發送到客戶端並在客戶端上執行的HTML,CSS,JavaScript以及在用戶設備上運行的本機應用程序(例如原生Android應用程序和iOS應用程序)組成。正如其名稱所示,服務器端代碼是在服務器上運行的所有代碼(包括任何關聯的數據庫等)。您無法真正保護客戶端代碼(儘管您可以使用模糊處理將其作爲構建任何新應用程序的基礎進行無用處理)。

對於您要發送給客戶端的任何用戶數據,您需要確保只有經過身份驗證的用戶才能訪問它。爲此,您可以在用戶通過身份驗證時向服務器發送令牌,並要求後續的用戶數據請求包含令牌。但是,沒有任何東西阻止用戶共享他們可以在客戶端查看/查看的數據。

警句
如果要保守祕密代碼,使它的服務器端,而不是客戶端代碼。例如,如果你想保持祕密獲取或計算某些東西的方法,那麼不要直接在客戶端上取/計算它;向您的服務器發出查詢,然後讓服務器執行讀取/計算。

0

我會咬..

試圖保護的JavaScript就像是試圖說服奧巴馬,他其實是一個共和黨人。

然後再次,有一個很酷的文章,我有一天讀的迷惑(http://www.wired.com/wiredscience/2014/02/cryptography-breakthrough/)。

您可以隨時閱讀他們正在討論的研究論文,並創建一個混淆程序,這會嚴重破壞您的JS代碼,使其不能正常工作,或者比在其上運行YUI壓縮器更難解碼是=)