短信发送失败增加冷却防连点限流并配置trust proxy恢复真实客户端IP
This commit is contained in:
@@ -40,6 +40,8 @@ import { hasWorkerSession, setWorkerSession } from '@/utils/worker-auth'
|
||||
import { isWorkerPasswordStrong, WORKER_PASSWORD_RULE_MESSAGE } from '@/utils/worker-password'
|
||||
|
||||
const SMS_COUNTDOWN_SECONDS = 60
|
||||
/** 发送失败也冷却一段时间再允许重试,避免连续点击触发服务端每分钟发送次数限制。 */
|
||||
const SMS_FAILURE_COUNTDOWN_SECONDS = 15
|
||||
|
||||
const brandFeatures = [
|
||||
{
|
||||
@@ -147,6 +149,7 @@ export default function WorkerLoginPage() {
|
||||
: `验证码已发送,${response.data.expiresInSeconds} 秒内有效`,
|
||||
)
|
||||
} catch (error) {
|
||||
setLoginSmsCountdown(SMS_FAILURE_COUNTDOWN_SECONDS)
|
||||
message.error(error instanceof Error ? error.message : '验证码发送失败')
|
||||
} finally {
|
||||
setLoading(false)
|
||||
@@ -217,6 +220,7 @@ export default function WorkerLoginPage() {
|
||||
: `验证码已发送,${response.data.expiresInSeconds} 秒内有效`,
|
||||
)
|
||||
} catch (error) {
|
||||
setCountdown(SMS_FAILURE_COUNTDOWN_SECONDS)
|
||||
message.error(error instanceof Error ? error.message : '验证码发送失败')
|
||||
} finally {
|
||||
setLoading(false)
|
||||
@@ -239,6 +243,7 @@ export default function WorkerLoginPage() {
|
||||
: `验证码已发送,${response.data.expiresInSeconds} 秒内有效`,
|
||||
)
|
||||
} catch (error) {
|
||||
setResetCountdown(SMS_FAILURE_COUNTDOWN_SECONDS)
|
||||
message.error(error instanceof Error ? error.message : '验证码发送失败')
|
||||
} finally {
|
||||
setLoading(false)
|
||||
|
||||
Reference in New Issue
Block a user