文档 下载安装 商店 博客 问答 主机

magento2中的忘记密码如何屏蔽请求过于频繁的功能?


#1

magento2中的点击忘记密码间隔时间太短会提示请求太多稍后再试, 请问测试中如何屏蔽这个呢?


#2

后台默认间隔时间是10分钟,可以修改,但没找到代码在什么地方,是否可以屏蔽呢?


#3

尝试把默认时间修改为0
store -> configuration -> customer -> customer configuration


#4

今天不知道怎么回事,玩崩了,一直提示“密码重置请求太多。请稍候再试一次”,感觉还是知道代码的实现地方要好点。


#5

能不动代码,最好不动。想知道代码在什么地方实现的,跟踪一下就好了。


#6

读代码的能力不行,跟踪到vendor\magento\module-customer\Model\AccountManagement.php文件下的initiatePasswordReset方法,但还是不知道在哪里设置的。:sob:


#7

我只是想测试过程中给屏蔽下代码,线上代码是不动的。


#8

first,Magento 2所有的安全功能全由 Magento\Security管理.
so,你在 Magento\Customer下是找不到的.

你可以看下这个方法 getMinTimeBetweenPasswordResetRequests()

通过搜索这个方法,可以找到逻辑:

在 **check()**方法又对 **getMinTimeBetweenPasswordResetRequests()**重新赋值和命名,所以继续追下去就可以了。

希望解决之后,自己回答一下这个问题


#9

忘记密码的间隔时间可以在后台设置,默认是10分钟。
尝试把默认时间修改为0(Min Time Between Password Reset Requests)
store -> configuration -> customer -> customer configuration

如果要知道代码是怎么运行的,可以在Magento\Security里查找

在 check()方法又对 getMinTimeBetweenPasswordResetRequests()重新赋值和命名,可以继续查看getMinTimeBetweenPasswordResetRequests()方法找到后台的配置值。

同时后台还要设置最大请求数,默认是5次(Max Number of Password Reset Requests)
代码如下:


#10

代码里好像没有和用户关联的,如果两个用户在间隔很短的时间内操作,那么后来操作的用户可能会提示要稍后再试。后来又看了下代码,好像是根据客户端的IP来的。