如何隐藏Angularjs源代码?

时间:2013-10-20 09:52:23

标签: angularjs source-code-protection

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

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

5 个答案:

答案 0 :(得分:15)

这不可能。

但您可以使用工具来缩小来源。有关angular.js

,请参阅Google Clousureng-min

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

答案 1 :(得分:9)

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

希望它能解决,

答案 2 :(得分:4)

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

如果你在angular,backbone或其他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;/
}

答案 3 :(得分:3)

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

答案 4 :(得分:3)

  1. 缩小
  2. 丑化 随着minify你必须uglify你的代码,这使它难以理解,它将以非常丑陋的方式重命名变量和功能,不容易破坏代码。
    此外,您可以很好地加密它,您必须在需要使用时解密,并且不能保持对前端工具的隐藏