Configurar un temporizador y consultar con javascript/PHP

Buscando mejorar mi script de inicio de sesión.

El objetivo es establecer un temporizador cada vez que un usuario intenta iniciar sesión.

Esta vez por ahora solo será un 1 segundo, pero después de 5 intentos aumentará a 5 segundos y así sucesivamente.

El objetivo sería prevenir DDOS y ataques de fuerza bruta.

Sin embargo, literalmente no tengo idea de por dónde empezar. El script de inicio de sesión consiste en una página PHP de proceso y luego validación con javascript. El lado de Javascript de las cosas también usa un retorno JSON para ver errores/éxito, etc.

¿Alguna ayuda para limitar el inicio de sesión a una vez cada 1 segundo? Tal vez esto es más fácil con PHP?

Gracias por cualquier ayuda. Sé que debería proporcionar el código que he intentado pero primero necesito empujar en la dirección correcta.

0

1 Respuestas

Nunca confíes en el cliente. Si haces esto en Javascript, cualquier atacante potencial simplemente puede evitar el Javascript.

Haz esto en PHP. Para cada usuario, mantenga una marca de tiempo de la última vez que intentaron iniciar sesión y la cantidad de intentos de inicio de sesión fallidos. Cuando alguien intenta iniciar sesión, simplemente verifique este valor. Si el número de segundos transcurridos desde el último inicio de sesión es demasiado pronto dado el número de fallas, simplemente redirigirlos de nuevo a la página de inicio de sesión con un mensaje de error.

0
agregado
Muy cierto, necesito pensar siempre de esta manera primero. Creo que crearé otro campo en la tabla de usuarios pero también inicié incorrectamente mi tabla de configuración general del sitio web. De esta manera, en mi panel de administración puedo hacer algunos análisis y conocer lo que es natural/en el comportamiento natural
agregado el autor Lovelock, fuente
PHP - Comunidad española
PHP - Comunidad española
6 de los participantes

En este grupo hablamos de PHP. Partner: es.switch-case.com

JavaScript - Comunidad española
JavaScript - Comunidad española
4 de los participantes

En este grupo hablamos de JavaScript. Partner: es.switch-case.com