Diga que tengo este código para la autenticación.
$me = mysql_query("SELECT * from users WHERE id='$_COOKIE[userid]' && password ='$_COOKIE[pass]'") or die (mysql_error());
$me = mysql_fetch_array($me);
Para autenticar a un usuario en un sitio web, algo en la computadora del usuario tiene que coincidir con lo que hay en el servidor (esta pregunta no se trata de prevenir el robo de cookies, ya que todos los sitios web pueden tener cookies robadas), pero ¿hay alguna manera de usar sql donde verificar si coincide en la base de datos sin que sea propenso a un ataque de tiempo?
¿Qué sucede si alguien modifica sus cookies a un ID de usuario y contraseña diferentes para intentar averiguar la contraseña de otra persona mediante un ataque de tiempo? Si $me
produce 0 resultados en lugar de 1, ¿eso cambia el tiempo promedio que se tarda en ejecutar la consulta?
En caso afirmativo, ¿cómo debo cambiar mi código, porque no puedo resolverlo? ¿Debo agregar un retraso aleatorio al código anterior, y hace una diferencia, ya que lo leí?