Estoy trabajando en una aplicación que básicamente coincide con (IRL) dos tipos de personas. En el lado del cliente, la interfaz es una aplicación de una sola página con un flujo similar al siguiente:
Detalles - > Iniciar sesión - > Selección de tarjeta de crédito - > Revisión - (llamada API) - > Confirmación
Entre otras cosas, la llamada a la API en el backend desencadena una acción como "Enviar un SMS a todos los que coincidan con estos criterios".
En este momento, la autenticación para la llamada a la API se realiza con un encabezado de "Autorización" (sobre https). A medida que vamos a crecer y obtener más llamadas de tráfico / API, me preocupa la seguridad de mi aplicación.
Básicamente, alguien podría entrar en el sitio web y hacer el flujo tantas veces como lo desee, luego provocaría un montón de mensajes no deseados enviados y acciones tomadas, lo que sería desastroso para mi negocio. Supongo que es probable que no ocurra porque pido una tarjeta de crédito válida antes del último paso. Pero, dado que no se le hace ningún cargo (durante este proceso específico), nada podría impedirle perder el tiempo.
Por lo tanto, me gustaría saber si existen prácticas recomendadas para evitar ese tipo de fraude (¿o soy demasiado paranoico?). Feliz de aclarar si algunos puntos no están claros.