Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/02/2013, 12:24
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mejorar la seguridad de inyecciones SQL a sistema de registro

no podra ingresar nada que no sea alfanumerico solo letras y numeros , tambien a la hora del registro deberas verificar lo mismo que sea alfanumerico y avisar que solo puede contener useranme y password letras y numeros , si deseas que puedan insertar otros caracteres deberas verificarlo.

te lo he tocado un poco a ver que te parece

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     require_once('config.php');
  4.  
  5.     if(isset($_POST['ingresar']) and isset($_POST['username'] and isset($_POST['password']))
  6.     {
  7.         if(ctype_alnum($_POST['username']) and ctype_alnum($_POST['password']))
  8.         {
  9.             $username = mysqli_real_escape_string($_POST['username']); // no tendria mucho efecto pero aun asi lo dejo
  10.             $password = mysqli_real_escape_string($_POST['password']); // no tendria mucho efecto pero aun asi lo dejo
  11.            
  12.             $query    = mysqli_query($conexion,"SELECT * FROM usuarios WHERE nick='".$username."' and pass='".$password."'");
  13.      
  14.             if(mysqli_num_rows($query) > 0)
  15.             {
  16.      
  17.                 $datos = mysqli_fetch_assoc($query);
  18.                 $_SESSION['nivel'] = $datos['nivel'];
  19.                 $_SESSION['usuario'] = $datos['nick'];
  20.                 echo '<script language="JavaScript">window.location.href = "index.php";</script>';
  21.             }
  22.             else
  23.             {
  24.                 echo 'Usuario y contraseña incorrectos';
  25.                 echo '<script language="JavaScript">window.location.href = "index.html";</script>';
  26.             }
  27.         }
  28.         else
  29.         {
  30.         echo 'Ingresa un usuario y contraseña validos';
  31.        
  32.         }
  33.     }
  34.      
  35.     ?>

ahora solo te faltaria hasear las pass y en el registro especificar que sea mayor de 10 caracteres para aumentar la seguridad de la contraseña , y preparar la consulta y yo creo que estaria muy seguro

respecto a .htaccess y directorios , yo no se tu estructura pero a lo que se refiere es a una estructura mas o menos asi

index.php
dir / sistema
dir/ public

restringimos el acceso a sistema y a todos sus directorios que no sean accesible desde la url , en sistema tendriamos todos los scripts controladores ,clases funciones etc....y en public todo el contenido publico , asi separamos el sistema de la aplicacion, y la aplicacion se conecta con el sistema para usar sus funciones

Última edición por webankenovi; 02/02/2013 a las 12:31