Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/03/2014, 05:34
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Problema De Seguridad

Cita:
Iniciado por fbedia Ver Mensaje
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.
La web la tengo subida a un Hosting, Acabo de buscar si tengo algún virus con "Virus scanner" y no hay nada...

Los Post como puedes ver los filtro mediante FilterText
Código PHP:
Ver original
  1. function FilterText($str, $advanced=false) {
  2.     if($advanced == true){ return mysql_real_escape_string($str); }
  3.     return $str;
  4. }

El mismo que hizo esto me dejo un comunicado y me dijo que uso: dork attack

Última edición por Jose789; 05/03/2014 a las 05:41