我如何有效地使用angularjs保持安全性?

时间:2014-04-02 07:16:45

标签: javascript angularjs security

当我知道它们不受保护时,为什么我应该使用angular.js或其他类似的js框架。

我的安全意思是:

  • 所有代码都是用纯JavaScript编写的。 javascript可以在devtools或firebug中编辑。像表单提交之类的东西可以很容易地被操纵。即使我尝试对所有http请求进行服务器端验证,我最终还是会做两倍的工作。

如何有效地使用angularjs牢牢记住?

感谢。

3 个答案:

答案 0 :(得分:2)

所有客户端代码都易于修改。因此,您不需要将任何需要安全的内容放入客户端代码中。客户端代码应该为最终用户定义视图元素,并为他们提供与服务器通信的简便方法。关于安全性,99%的需要通过适当保护敏感数据来处理服务器端。在服务器到客户端通信方面,您需要使用SSL。 Angular有一些内置的东西来帮助安全,请参阅$ sce和ngSanitize但是IMHO你的后端应该是安全的,因为任何人都可以重新编写前端或使用命令行工具在服务器上发送各种curl请求,直到某些东西给出。客户端代码实际上不需要在客户端代码本身之外包含任何专有内容,如果你担心的是你可以使用混淆工具,但最终甚至编译的代码都可以被反编译或反汇编。

答案 1 :(得分:2)

您应始终进行客户端和服务器端验证。无论您使用哪个库,都需要这样做。它不应被视为" double"工作。它只是"工作"。

即使您没有使用Angular(或其他Javascript库),我仍然可以使用devtools通过Javascript向您的服务器发出请求 - 它仍然需要处理它。

如果您担心代码安全性,可以使用混淆/缩小工具。

答案 2 :(得分:0)

当然,如果你担心它的逻辑,你应该使用minification js工具作为客户端代码。但请继续说明:

  • 请勿在客户
  • 上保留服务信息(如许多ID等)
  • 并且始终在危险的地方使用这两种类型的验证
  • 使用加密/令牌