2013-10-20 96 views
10

如何隱藏app.js,controller.js文件或代碼?如何隱藏Angularjs源代碼?

它們在html源代碼中可見。無論如何要隱藏它們嗎?

+0

您不能隱藏,但你總是可以運行如下腳本。搜索JavaScript縮小。 – Chandermani

+0

Angularjs代碼是JavaScript,並且js對用戶始終可見,但您可以對其進行混淆。 – defau1t

+0

@ defau1t謝謝你的答案..但我不是說它的自我..例如我的控制器和路線代碼對用戶可見嗎?我使用php作爲後端。是不是我的控制器和路由代碼對用戶可見?對不起,我的英語 – OMahoooo

回答

3
  1. 縮小
  2. 醜化 與縮小你必須沿着醜化你的代碼,這很難理解,它會以非常醜陋的方式重命名變量和函數,不容易破壞代碼。
    也可以很好的對其進行加密,你必須和擁有對其進行解密時使用是必要的,並且不能保持與前端工具隱藏
+0

請解釋「您也可以加密」 – kzh

+0

您無法加密前端代碼。 –

+0

加密,這裏是一個github資源庫,https://github.com/travist/jsencrypt –

9

你不能隱藏angualrjs。它基於Javascript。爲了縮小,並沒有幫助,因爲任何人都可以將其轉換回人類可讀的視圖(當然,如果有人想竊取你的代碼)。任何敏感邏輯儘量放在服務器端。

希望將HEP,

+0

如果它聽起來像一個noob,但我是相當新的服務器端JS編程,而且相當如何一切工作感興趣。如何在服務器上保留敏感邏輯? – praneybehl

+0

@praneybehl表示使用PHP/Java編寫而不是在客戶端編寫 –

3

這是一個前端框架的自然行爲;你不會隱藏源代碼。在前端應該沒有任何敏感數據,特別是沒有密碼。就像堆棧溢出一樣,所有的字體結束代碼始終對用戶可見。

14

這是無法完成的。

但是,您可以使用工具縮小來源。請參閱Google Clousureng-min for angular.js

我建議您使用grunt爲您的應用程序構建一個單獨的js文件,並將所有代碼縮小。 看看那些可能有用的項目:ng-boilerplateyeoman - angularjs

3

可以使用NGINX服務器子請求隱藏你的JavaScript代碼。

如果您在角度,主幹或其他js框架中有/admin路由,並且您想將其隱藏以供未經授權的用戶使用,您可以在NGINX中進行子請求以後端檢查用戶是否被授權。如果沒有,那麼你扔404或重定向到主頁。

這其中包含了更多的細節nginx的模塊: http://nginx.org/en/docs/http/ngx_http_auth_request_module.html

在NGINX代碼看起來或多或少是這樣的:

location ^~ /admin { 
    # checking in background if user is privileged 
    auth_request /auth; 
    root /var/www/angular-client/; 
} 

location = /auth { 
    proxy_pass http://backend.cms/api/v1/users/admin.json; 
    proxy_set_header X-Original-URI http://backend.cms/api/v1/users/admin.json;/ 
}