Cita:
Iniciado por Touch Hola estoy comenzando a trabajar con php y necesito que me digais si esta sentencia que he realizado esta bien hecha(el resultado que obtengo es el k kiero)
Os explico. Recibo los datos de un formulario y tengo que mirar ese registro y mirar si tiene el campo de validacio a 0 o 1.
El codigo es el siguiente:
include("conexion.php");
$nick=$_POST['usuario'];
$clave=$_POST['clave'];
$consulta= mysql_query("SELECT * FROM usuarios WHERE user='$nick' and clave='$clave'");
while($row = mysql_fetch_array($consulta))
{
if($row[5]=="0")
{
echo "hola";
}
else
{
echo "holaaaa";
}
}
Se haria de otra forma o esta es correcta.
Si y no.
El funcionamiento es correcto(te funciona bien :)) pero la seguridad es nula.
Cita: $nick=$_POST['usuario'];
$clave=$_POST['clave'];
$consulta= mysql_query("SELECT * FROM usuarios WHERE user='$nick' and clave='$clave'");
Tienes que pasarle alguna funcion como addslashes() y htmlentities() para espacar todos los caracteres como comillas y cosas de el estilo y para convertid a entidades HTML los caracteres posibles.
De lo contrario sería vulnerable a uuna inyección de codigo SQL.
Un ejemplo rapidito:
Código:
pagina.php?usuario='+OR+1=1+UNION+ALL+SELECT+clave,clave,clave,clave,clave+WHERE+usuario='admin'+/*