Estoy trabajando en la aplicación móvil y su API, que utiliza un token privado para cada usuario para la autenticación.
Quiero asegurarme de que nadie utilizará incorrectamente la API para rastrear mis datos o enviar correo basura a mi base de datos. Incluso si no publicaré sus publicaciones hasta que obtengan la aprobación manual, todavía es spam y un dolor de cabeza para los usuarios de calidad de datos.
Estoy usando RoR
y pensé en usar Redis
para almacenar un contador para cada usuario y si él alcanzó un número de visitas específico, puedo acelerar o bloquear sus solicitudes, pero me llevará una eternidad implementar el lógica y poner un peso para cada solicitud y un trabajador para restablecer los contadores cada dos horas o todos los días.
Por supuesto, pensé en usar cualquier herramienta ya hecha como Fail 2 ban
o incluso AWS WAF
porque estoy ejecutando la aplicación en AWS EB
. Pero quiero usar el user-id
como identificador y no el IP
porque quizás alguien use proxies
para rastrear o spam y creo que hay un enfoque más inteligente en lugar de este manual.