Hola, solo quería algunos comentarios sobre un DDOS que impida el script php que estoy diseñando. Es bastante simple y quería algunos comentarios sobre si ustedes piensan que sería efectivo.
Actualmente estoy usando ulogin framework como base y he implementado las Claves de API. En este momento el usuario enviará una solicitud con una clave. Esta clave se compara con la base de datos para ver si es correcta. Entonces, si la clave no es correcta, el programa volverá.
Si la clave es correcta, se calcularán algunas estadísticas. Lo primero es incrementar el contador. El promedio de aciertos por segundo se calculará desde el momento en que comenzaron a solicitar hasta la hora actual. También hay una ventana de X segundos en la que se restablecerá el contador (digamos 300). El programador especifica el número máximo de solicitudes que deben permitirse en esta ventana. Si la clave está sobre el límite de solicitudes por reinicio de estadísticas (Ventana) o sobre una cierta cantidad de solicitudes por segundo, se bloquearán y no se les dará acceso. Sin embargo, el contador sigue aumentando pero se inicia otro contador (blockcount).
Cuando el contador se establece en 0 al final de la ventana, el recuento para la siguiente ventana se establecerá en el número de bloque que se encuentre y el conteo de bloque se establecerá en 0. Si el usuario no usa la API para X (ventana) segundos, ambos contadores se restablecerán a 0.
He agregado una variable transferpenalty (0-1) que llevará un porcentaje de la cuenta de bloques a la siguiente ventana en lugar de la cuenta de bloques completa, pero no creo que sea necesario tener esto.
¿Ya se está haciendo esto? ¿Protegería esto contra una clave de API detectada que se usa para (D) DOS un servidor? ¿Cuáles son tus pensamientos :)