Desde el login.php me traigo los datos del user a ctrl.php ahi mismo lo valido y lo redirecciono a donde corresponde. En esta instancia tambien le tomo la ip y el tiempo de logueo, los guardo en una tabla mysql y lo dejo ingresar si está registrado.
Por lo que leí me pueden averiguar la clave de cualquier usuario por fuerza bruta, por lo que necesitaría saber como hacer para, despues de X cantidad de fallidos, bloquear su intento de ingreso durante un tiempo.
Comparto el ctrl.php a ver si me ayudan a que poner donde. Muchas pero muchas pero muchas muchas gracias.
Código PHP:
<?php
include ("con.php");
$myusuario = mysql_query("select idusuario from usuarios where idusuario = '".htmlentities($_POST["usuario"])."'",$conexion);
$nmyusuario = mysql_num_rows($myusuario);
$usu= $_POST["usuario"];
$ip = $_SERVER['REMOTE_ADDR'];
$time = $_SERVER['REQUEST_TIME'];
if($nmyusuario != 0){
$sql = "select idusuario from usuarios where estado = 1 and idusuario = '".htmlentities($_POST["usuario"])."' and clave = '".md5(htmlentities($_POST["clave"]))."'";
$myclave = mysql_query($sql,$conexion);
$nmyclave = mysql_num_rows($myclave);
if($nmyclave != 0){
session_start();
$_SESSION["autentica"] = "SIP";
$_SESSION["usuarioactual"] = mysql_result($myclave,0,0);
$_SESSION["estado"] = 1;
$s = "INSERT INTO login (usuario,ip,time) VALUES ('$usu','$ip','$time')";
mysql_query($s);
header ("Location: app.php");
?>