Deberías filtrar todos los datos recibidos por $_POST
Te recomiendo algo como lo siguiente:
Código PHP:
Ver original//strip_tags para retirar todas las etiquetas HTML y PHP de un string:
//pasarle tambien un real_scape_string antes de usar la variable en la consulta sql
Adicionalmente puedes controlar la longitud de la nueva password...
Código PHP:
Ver original//guardamos la longitud de la password
$long_password = strlen($_POST["password"]); //comprobamos que la logitud este entre 4 caracteres y 20 por ejemplo
if(($long_password<4)||($long_password>20)) {
//error... password muy corta o muy larga
} else {
//logitud ok... puedes continuar el codigo...
}
Con lo anterior deberia ser suficiente para evitar xss, sqli....etc...
Adicionalmetne... revisa que el BUG no venga por otro lado: cambia las contraseñas de la BD.... SSH.... analiza el servidor con algun antirrotkit por si tienes algojada alguna shell...etc..
Saludos.