13

如何隐藏 app.js、controller.js 文件或代码?

它们在 html 源代码中可见。有没有办法隐藏它们?

4

5 回答 5

15

这是无法做到的。

但是您可以使用工具来缩小源。有关angular.js ,请参阅Google Clousureng-min

我建议您使用 grunt 为您的应用程序构建一个单独的 js 文件,并缩小所有代码。看看那些可能有用的项目:ng-boilerplateyeoman - angularjs

于 2013-10-20T16:56:36.590 回答
10

你不能隐藏 angualrjs。它基于Javascript。缩小,无济于事,因为任何人都可以将其转换回人类可读的视图(确定是否有人想窃取您的代码)。任何敏感的逻辑都试图放在服务器端。

希望它会hep,

于 2013-10-20T10:49:05.183 回答
4

您可以使用 NGINX 服务器子请求隐藏您的 javascript 代码。

如果你/admin在 Angular、Backbone 或其他 js 框架中有路由,并且你想为未经授权的用户隐藏它,你可以在 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;/
}
于 2014-06-01T12:35:33.697 回答
4
  1. 缩小
  2. uglify 和 minify 一起必须 uglify 你的代码,这很难理解,它会以非常丑陋的方式重命名变量和函数,不容易破坏代码。
    你也可以很好地加密它,你必须并且必须在需要使用它时解密,并且不能对前端工具隐藏
于 2015-06-04T09:56:31.010 回答
3

这是前端框架的自然行为;你不隐藏源代码。你的前端不应该有任何敏感数据,尤其是没有密码。就像 Stack Overflow 一样,所有字体端代码都是并且将始终对用户可见。

于 2013-10-20T11:15:31.713 回答