use*_*od2 0 security api node.js angularjs
我刚刚在 node.js 中构建了一个 API。
我在我的 angular 应用程序中调用此 API 来执行登录和注册等基本操作,例如:
self.register = function(username, password) {
return $http.post(API + '/auth/register', {
username: username,
password: password
})
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,任何人都可以看到该 API URL,那么是什么阻止他们“抨击”它以随意创建用户。(注意 API 在我的 JS 文件中是一个常量)。登录也是如此,如何阻止某人尝试数百万个用户名和密码组合的蛮力。
你有什么建议来确保这一点?
谢谢。
您可以使用一些 DDoS 保护,例如将 nginx 代理放在您的 nodejs API 前面并使用例如limit_req模块:http : //nginx.org/en/docs/http/ngx_http_limit_req_module.html
对于蛮力,您可以实施一些锁定逻辑,在出现错误次数后将阻止帐户一段时间,例如 15-30 分钟,甚至需要管理员操作。
对于需要登录的 API,您可以使用令牌保护。当调用身份验证 API 并通过 HTTP only 安全 cookie 作为响应设置时,应发出令牌。然后,您可以在 API 请求标头中传递此令牌,并且在 nodejs 中每个受保护的 API 执行之前,只需检查它是否有效,如果无效则拒绝调用。
| 归档时间: |
|
| 查看次数: |
2550 次 |
| 最近记录: |