Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/03/2014, 05:24
Avatar de fbedia
fbedia
 
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Problema De Seguridad

Deberías filtrar todos los datos recibidos por $_POST

Te recomiendo algo como lo siguiente:

Código PHP:
Ver original
  1. //strip_tags para retirar todas las etiquetas HTML y PHP de un string:
  2. $password = strip_tags($_POST['password']);
  3. //pasarle tambien un real_scape_string antes de usar la variable en la consulta sql
  4. $password = mysqli_real_escape_string($password);

Adicionalmente puedes controlar la longitud de la nueva password...

Código PHP:
Ver original
  1. //guardamos la longitud de la password
  2. $long_password = strlen($_POST["password"]);
  3. //comprobamos que la logitud este entre 4 caracteres y 20 por ejemplo
  4. if(($long_password<4)||($long_password>20)) {
  5.  
  6. //error... password muy corta o muy larga
  7.  
  8. } else {
  9.  
  10. //logitud ok... puedes continuar el codigo...
  11.  
  12. }

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.
__________________
Follow me on twitter @franbedia