Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在何处设置登录尝试计数器_Node.js_Angular_Express Session - Fatal编程技术网

Node.js 在何处设置登录尝试计数器

Node.js 在何处设置登录尝试计数器,node.js,angular,express-session,Node.js,Angular,Express Session,一个基本问题: 我有一个角度与登录页面和验证码的网站。我需要激活验证码只有在3次尝试登录。 我有一个柜台。在组件本身中定位它将不起作用,因为刷新页面会将其设置为0; 我想知道我是否可以将它存储在登录服务中——关于它是否对所有访问该服务的用户都是通用的,这将是一个问题——我是否正确? (另一个选项是将其存储为会话变量(express sesion)-这可能会起作用)嗯。。。 我假设当用户登录时,前端会对后端进行http调用,以检查用户/密码对是否正确,因为所有安全性都必须在后端。 知道了这一点,我

一个基本问题: 我有一个角度与登录页面和验证码的网站。我需要激活验证码只有在3次尝试登录。 我有一个柜台。在组件本身中定位它将不起作用,因为刷新页面会将其设置为0; 我想知道我是否可以将它存储在登录服务中——关于它是否对所有访问该服务的用户都是通用的,这将是一个问题——我是否正确? (另一个选项是将其存储为会话变量(express sesion)-这可能会起作用)

嗯。。。 我假设当用户登录时,前端会对后端进行http调用,以检查用户/密码对是否正确,因为所有安全性都必须在后端。 知道了这一点,我想说,计数器也必须在后端。
如果将计数器放在正面,则只需刷新页面或清除浏览器存储,即可绕过计数器。

如果会话已启动,即使是未经授权的用户也可以将其存储在express session中。否则,您应该在某些数据库中按用户名存储计数器。试试看。您可以使用它使您的登录系统更加健壮。

我已经对其进行了调查,以下是我的结论: 此问题有两个可选答案: 1.如果您(我…)希望在客户端的上下文中使用计数器,这意味着——每当我离开浏览器并打开一个新的浏览器时——计数器将被重置,并且只有在这个特定的浏览器中,我才能获得captcha afetr 3测试,那么它应该在会话存储中进行管理。 2.如果您希望在浏览器之间具有持久性,这意味着无论您将打开哪种窗口浏览器(来自同一种浏览器,即chrome、IE或FF),计数器都是在浏览器之间共享的,如果您从其中一个浏览器触发了验证码,则它将显示在所有浏览器中,当刷新它们时-然后您可以在express会话中管理它,如@animir所述