我正在考虑将Angular Azure Mobile Service Client用于项目,我看到了这个示例代码:
angular.module('your-module-name').constant('AzureMobileServiceClient', {
API_URL : 'https://<your-api-url>.azure-mobile.net/',
API_KEY : '<your-api-key>',
});
在像这样的AngularJS应用程序(或任何基于JavaScript的客户端)中使用API Key是否安全?我不确定如果他们有这个钥匙,有什么人可能做的?
答案 0 :(得分:2)
在Azure移动服务文档中找到this:
使用默认权限,拥有应用密钥的任何人都可以调用自定义 API。但是,应用程序密钥不被视为安全 凭证,因为它可能无法安全地分发或存储。 考虑限制仅对经过身份验证的用户的访问权限 安全
答案 1 :(得分:1)
安全&#39;取决于你想要做什么。每个人都可以阅读Javascript及其中的任何键。这是关键,并不意味着用作访问重要信息的密码。相反,它是为了防止恶意滥用您的应用程序。
例如,如果某人尝试使用每个可能的密码/用户名组合每秒登录1,000次,则他们会在每次请求时提交此密钥。因此,您可以使用此密钥限制或阻止任何人。然后,您将为您的应用发出新密钥。如果您有一个发布这些密钥的系统,您甚至可以识别正在执行该密钥的人。 它可以阻止DDOS,Bruteforce和其他一些滥用行为