Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2010, 15:48
Avatar de JoseGMariani
JoseGMariani
 
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 11 meses
Puntos: 8
alguien que me de Sugerencias para evitar mysql injection!?

Hola buenas! =) tengo una pagina con login de usuario bueno son varios los form que uso con metodo post para meter datos en la base..

quisiera que me pudieran ayudar, decir, que cosas le podria poner al codigo para evitar mysql injection.. porfaa alguien..?

Código PHP:
<?php
// Configura los datos de tu cuenta
session_start();    
include (
'../seg/conexion.php'); 

if (
$_POST['nombre']) {
//Comprobacion del envio del nombre de usuario y password
$nombre=$_POST['nombre'];
$password=$_POST['password'];

$checknombre mysql_query("SELECT nombre FROM usuarios WHERE nombre='$nombre'");
$nombre_exist mysql_num_rows($checknombre);
if (
$nombre_exist>0) {
$consulta=mysql_query("SELECT estado FROM usuarios WHERE nombre='$nombre'");
    
$lado=mysql_num_rows ($consulta);
while(
$row=mysql_fetch_array($consulta)){
$estado=$row["estado"];
$consulta2=mysql_query("SELECT comprobado FROM usuarios WHERE nombre='$nombre'");
    
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$comprobado=$row["comprobado"];

if (
$password==NULL) {
echo 
"<script type=\"text/javascript\">alert(\"Error: La clave no fue enviada! intentalo de nuevo.'\");window.close();</script>";  
}else{
$query mysql_query("SELECT nombre,pass FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['pass'] != $password) {
echo 
"<script type=\"text/javascript\">alert(\"Login Incorrecto\"); 
  window.close();</script>"
;
  }else{
    if(
$estado!=0) {
    echo 
"<script type=\"text/javascript\">alert(\"Tu Cuenta ha sido Suspendida'\");window.close();</script>";  
}else{
if(
$comprobado==0) {
    echo 
"<script type=\"text/javascript\">alert(\"No Haz Validado Tu Cuenta, Revisa tu Bandeja de correo Electrónico, Recuerda revisar Correo no deseado Si borraste el correo de Validación dirígete a 'Validar mi Cuenta' y se te enviará un correo de nuevo.'\");window.close();</script>";  
    }else{
$query mysql_query("SELECT nombre,pass,id FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_nombre"] = $row['nombre'];
$_SESSION["s_id"] = $row['id'];
header("Location: cuenta.html");
}
}
}
}
}
}
}else{ 
echo 
"<script type=\"text/javascript\">alert(\"Login Incorrecto.\"); window.close();</script>";}
}
?>
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..