feat: 添加短信发送限流、忽略爬虫、调整默认限流规则
This commit is contained in:
@@ -30,9 +30,10 @@ import { SmsModule } from './sms/sms.module';
|
||||
synchronize: process.env.NODE_ENV !== 'production', // Set to false in production
|
||||
}),
|
||||
ThrottlerModule.forRoot({
|
||||
ignoreUserAgents: [/googlebot/i, /bingbot/i],
|
||||
throttlers: [
|
||||
{
|
||||
limit: 1000,
|
||||
limit: 100,
|
||||
ttl: 60000, // 1 minute
|
||||
},
|
||||
],
|
||||
@@ -51,4 +52,4 @@ import { SmsModule } from './sms/sms.module';
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
})
|
||||
export class AppModule {}
|
||||
export class AppModule { }
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { Body, Controller, Post } from '@nestjs/common';
|
||||
import { Body, Controller, Post, UseGuards } from '@nestjs/common';
|
||||
import { SendLoginSmsDto } from './dto/send-login-sms.dto';
|
||||
import { SmsService } from './sms.service';
|
||||
import { Throttle, ThrottlerGuard } from '@nestjs/throttler';
|
||||
|
||||
@Controller('sms')
|
||||
export class SmsController {
|
||||
@@ -8,6 +9,8 @@ export class SmsController {
|
||||
constructor(private readonly smsService: SmsService) { }
|
||||
|
||||
@Post('send/login')
|
||||
@UseGuards(ThrottlerGuard)
|
||||
@Throttle({ sms_login: { limit: 10, ttl: 60000 } })
|
||||
async sendLoginSms(@Body() dto: SendLoginSmsDto) {
|
||||
await this.smsService.sendSms(dto.phone, 'login');
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user