我们如何确保 Angular.js 的安全性

Posted

技术标签:

【中文标题】我们如何确保 Angular.js 的安全性【英文标题】:How do we ensure security in Angular.js 【发布时间】:2018-07-28 01:16:04 【问题描述】:

假设我们通过 Angular 实现了一个应用程序 web。服务器通过 Restful Web 服务连接。 由于客户端直接与服务器通信,因此也为未经授权的用户提供数据。 虽然所有服务(数据)可能无法向公众提供。 当然,可以使用身份验证或 HTTPS 等方法来改善这一点。但我觉得还不够。

我的问题是找到更合乎逻辑的方法。我从设计开始就可能使用的方法。

感谢您的所有想法。

【问题讨论】:

您应该针对特定问题提出特定问题。由于 Stack Overflow 向您隐藏了关闭原因:“请编辑问题以将其限制为具有足够详细信息的特定问题,以识别适当的答案。避免一次提出多个不同的问题。请参阅如何提问页面以获取帮助澄清这个问题。” 【参考方案1】:
    Create a function in service layer this..       
    function getUserAuth() 
         var basicAuth = 'Basic ' + Base64.encode('Your authentication String');
         return basicAuth;
     
    So you shall have to create An authentication like this 
and call it in service like this..
         postUserDetails: function(postData) 
                            var basicAuth = getUserAuth();
                            var url =  'your url';
                            var deferred = $q.defer();

                            $http.post(url, postData, 
                                    headers: 
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json',
                                    'Authorization': basicAuth
                                
                                ).then(function(data) 
                                deferred.resolve(data);
                                , function(error) 
                                deferred.reject(error);
                            )
                                return deferred.promise;
                            

【讨论】:

这段代码在客户端并且对其他人可见(假设常量用户名用于与服务通信)假设商店的数据对访客用户可见。

以上是关于我们如何确保 Angular.js 的安全性的主要内容,如果未能解决你的问题,请参考以下文章

为啥 angular.js 在添加动态元素时不够聪明,无法编译 DOM?

Angular.js 提交表单的旧方式

Angular js 单页应用环境搭建

Grails、Spring Security 和 Angular JS - 如何保护 URL?

Laravel 4 和 Angular JS 和 Twitter Bootstrap 3 分页

如何确保客户端角度应用程序中的真正安全性