imitação de @Rate para evitar comportamento malicioso no ExpressJS

Alguém me informou sobre algumas falhas em um aplicativo em que estou trabalhando (principalmente no JavaScript no front-end), que deixa em aberto a possibilidade de, digamos, clicar em vários botões de uma só vez e enviar uma tonelada de emails transacionais. Claramente isso não é bom.

Acho que uma maneira de lidar com isso no ExpressJS é usandoapp.all() para contar o número de solicitações que ocorrem dentro de um determinado período. Armazenaria isso nos metadados da sessão com registros de data e hora e, se mais de X solicitações acontecerem no período Y, eu as interrompi por um tempo até que o limite expir

Alguém já fez isso antes ou tem alguma dica / sugestão para me ajudar? Algo fácil de entrar e sair do meu aplicativo é preferível. Obrigado

questionAnswers(2)

yourAnswerToTheQuestion