Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
Flutter 如何在Flatter中多次尝试失败后禁用登录_Flutter_Dart - Fatal编程技术网

Flutter 如何在Flatter中多次尝试失败后禁用登录

Flutter 如何在Flatter中多次尝试失败后禁用登录,flutter,dart,Flutter,Dart,我已经建立了一个颤振应用程序,其中用户是在后端网站上创建的,应用程序内的用户只能登录。 我想做的是,如果用户尝试多次失败的登录尝试3次,我希望对用户禁用登录5分钟 请帮助我如何处理它以及最佳的解决方案。您可以使用Timer类并为其设置所需的延迟。在不正确的登录操作处阻止按钮,并在时间用完后将其重新设置为可用。您可以使用Timer类并为其设置所需的延迟。在不正确的登录操作时阻止按钮,并在时间用完后将其重新设置为可用。1。创建变量全局变量/提供程序尝试失败 二,。尝试失败时,增加值=+1。 ->当用

我已经建立了一个颤振应用程序,其中用户是在后端网站上创建的,应用程序内的用户只能登录。 我想做的是,如果用户尝试多次失败的登录尝试3次,我希望对用户禁用登录5分钟


请帮助我如何处理它以及最佳的解决方案。

您可以使用Timer类并为其设置所需的延迟。在不正确的登录操作处阻止按钮,并在时间用完后将其重新设置为可用。

您可以使用Timer类并为其设置所需的延迟。在不正确的登录操作时阻止按钮,并在时间用完后将其重新设置为可用。

1。创建变量全局变量/提供程序尝试失败

二,。尝试失败时,增加值=+1。 ->当用户键入正确的密码时,删除当前计数

三,。当用户失败3次时->在首选项中保存CurrentTime

四,。再次尝试登录前请检查它。 ->与保存的时间相比,当前时间<5分钟 ->对不起,你得等5分钟


正如nvoigt指出的,您可以/应该将变量存储在后端,以提高安全性。

1。创建变量全局变量/提供程序尝试失败

二,。尝试失败时,增加值=+1。 ->当用户键入正确的密码时,删除当前计数

三,。当用户失败3次时->在首选项中保存CurrentTime

四,。再次尝试登录前请检查它。 ->与保存的时间相比,当前时间<5分钟 ->对不起,你得等5分钟


正如nvoigt指出的,您可以/应该将变量存储在后端,以提高安全性。

我建议使用存储来存储N次失败尝试后最后一次失败尝试的日期时间&检查当前时间是否已过X天、Y小时或Z分钟等等

注: 虽然我建议使用存储来实现这一点,但它只是不方便您实施和开始。它不可靠,因为用户可以更改设备的日期和时间设置,或者可以重置/清除存储数据


如果您正在使用相同的技术寻找更安全的方法,请使用firebase DB和Internet时间,而不是本地存储和设备时间。

我建议使用存储来存储N次失败尝试后最后一次失败尝试的日期时间,并检查当前时间是否已过X天、Y小时或Z小时分钟等等

注: 虽然我建议使用存储来实现这一点,但它只是不方便您实施和开始。它不可靠,因为用户可以更改设备的日期和时间设置,或者可以重置/清除存储数据

如果您正在使用相同的技术寻找更安全的方法,请使用firebase DB和Internet时间,而不是本地存储和设备时间

我想做的是,如果用户尝试多次失败的登录尝试3次,我希望对用户禁用登录5分钟

此逻辑必须放在后端。当您在后端调用login方法时,后端必须跟踪有多少次失败的尝试,然后在指定的时间内锁定帐户。请确保向前端发送一个特定的错误代码,说明在该期间帐户被锁定,以便前端可以显示该错误代码,并通知用户尝试登录是没有意义的

不过,没有必要阻止前端的尝试。恶意攻击者无论如何都会绕过您的保护,普通用户可能有理由使用其他帐户重试

我想做的是,如果用户尝试多次失败的登录尝试3次,我希望对用户禁用登录5分钟

此逻辑必须放在后端。当您在后端调用login方法时,后端必须跟踪有多少次失败的尝试,然后在指定的时间内锁定帐户。请确保向前端发送一个特定的错误代码,说明在该期间帐户被锁定,以便前端可以显示该错误代码,并通知用户尝试登录是没有意义的


不过,没有必要阻止前端的尝试。恶意攻击者无论如何都会绕过您的保护,而普通用户可能有理由使用其他帐户重试。

在前端执行此操作毫无意义。您不妨将该功能全部转储。这应该是一个安全特性,根据定义,客户端是不安全的。这是一个简单的解决方案。我明白你关于安全问题的观点。因此,您可以将失败的尝试/当前时间上载到后端。您尚未真正理解安全的含义。不要依赖未知客户端上传的数据。只信任你自己的后端。在前端这样做是没有意义的。您不妨将该功能全部转储。这个我
它应该是一个安全特性,而客户端根据定义是不安全的。这是一个简单的解决方案。我明白你关于安全问题的观点。因此,您可以将失败的尝试/当前时间上载到后端。您尚未真正理解安全的含义。不要依赖未知客户端上传的数据。只信任你自己的后端。在前端这样做是没有意义的。您不妨将该功能全部转储。这应该是一个安全特性,而客户端根据定义是不安全的。在前端这样做是没有意义的。您不妨将该功能全部转储。这应该是一个安全特性,根据定义,客户端是不安全的。