0 Usuarios y 1 Visitante están viendo este tema.
« anterior próximo »
Páginas: [1]
|
 |
|
Autor
|
Tema: login en php y mysql como comparar datos en la DB para poder loguearse (Leído 1597 veces)
|
|
bendroide
|
hola gente de hdl, tengo una duda estoy haciendo un sistema de registro de usuarios en php  entonces como puedo comparar los users registrados al momento de loguearse y entrar al carrito, es un carrito de compras la otra es como puedo encriptar los password y almacenar los password encriptados en la db , saludos... Code (php): <?php //se crea la conexion $db = mysql_connect("localhost", "root", ""); //se conetcta a la base de datos $declarar = mysql_select_db("usuario", $db); $usuario = $_POST['nombre']; $pass = $_POST['pwd']; $correo=$_POST['correo']; //creamos uns consulta a la tabla en la base de datos $consulta = mysql_query(" INSERT INTO `usuario`.`cliente` ( `id` , `nombre` , `pass`, `correo` ) VALUES ( NULL , '" . $usuario . "', '" . $pass . "', '" . $correo . "' );" ); mysql_close($db); header('Location: index.html')
ese es el code para registrar usuarios, saludos gente de hdl  
|
|
|
|
|
En línea
|
|
|
|
|
taul
|
pedaso de culiao llegas a subir ese code a algun server y te hago un drop db...fixea eso por favor.
|
|
|
|
|
En línea
|
C Nuestro, q estas en la Memoria,Compilado sea tu código,venga a nosotros tu software,carguense tus punteros.así en la RAM como en el Disco Duro,Danos hoy nuestro Array de cada día,Perdona nuestros Warnings,así como nosotros también los eliminamos, no nos dejes caer en Bucles,y libranos del Windows
|
|
|
|
[u]nsigned
|
Mas allá de los temas de seguridad (XSS, SQLi, RFI, etc)...lo mas usado en php para cifrar contraseñas es MD5
|
|
|
|
|
En línea
|
No me interesa romper ventanas, me interesa criar pingüinos
|
|
|
y0m4357r0
Principiantes
Desconectado
Mensajes: 115
|
Hola bendroide, no le des bolilla a los locos esto, mi consejo primero hace que ande y despues le metemos seguridad.. Si le llevaria el apunte a undesign, de guardar la pass en md5. PHP tiene una funcion para esto, directamente cuando haces que es md5($variable); lo haces de la siguiente manera: $pass = md5($_POST['pwd']); Lo bueno de eso que te lo convierte a md5 y dps lo asignamos a la variable para que lo guarde, y se guarda encriptado en un codigl alfanumerico de 32 caracteres creo que era... y es un algoritmo que no tiene vuelta atras, entonces si el que esta mas arriba que dijo que te iba a hackear te hackea y te roba la db, el pass va a estar encriptado y no le sirve de mucho.. ahora vamos con lo tuyo, hacer el login: Code (php): <?php //se crea la conexion $db = mysql_connect("localhost", "root", ""); //seleccionamos la db $declarar = mysql_select_db("usuario", $db); $usuario = $_POST['usuario']; $pass = md5($_POST['contrasena']); //creamos uns consulta a la tabla en la base de datos $consulta = mysql_query("SELECT id, nombre, pass, correo FROM nombreTabla WHERE nombre = '$usuario'"); if($reg == mysql_fetch_array($consulta)) { if($pass == $reg['pass']) { $_SESSION['id'] = reg['id']; $_SESSION['nombre'] = reg['nombre']; $_SESSION['correo'] = reg['correo']; echo "Gracias por utilizar nuestro servicio"; } else { echo "PASS INCORRECTO"; } } else { echo "Registrate o pone bien los dedos en el teclado"; header('Location: index.html') }
No lo probe pero ahi deberia andar!  Saludos..
|
|
|
|
« Última modificación: Octubre 13, 2011, 12:27:16 por y0m4357r0 »
|
En línea
|
|
|
|
|
bendroide
|
pedaso de culiao llegas a subir ese code a algun server y te hago un drop db...fixea eso por favor.
y si parece a los 2codigos bien escritos del canal de cordoba que defaseaste jajaja xD si ya los guarde con md5 encriptados Gracias y0m4357r0 , tome en cuanta lo que aportas saludos gente de hdl 
|
|
|
|
|
En línea
|
|
|
|
y0m4357r0
Principiantes
Desconectado
Mensajes: 115
|
De nada!  Despues contanos si anda, te paso una funcion chomaza que hice una vez que puede llegarte a ser de utilidad, sirve para comprobar si una cadena es correcta.. Simplemente lo que hace es recibir 4 parametros: cadena a comprobar, simbolos que se permiten, longitud min y longitud max.. Si es correcta la cadena osea si contiene solo caracteres que estan dentro de la cadena $permitidos que se define dentro de la funcion, devuelve true y sino un false... es para asegurarte que no venga nadie y te meta un <?php echo "CODIGO MALICIOSO"; ?> Code (php): function comprobarCadenaAviso($string, $permitidos,$longitudMin, $longitudMax) {//Esta funcion lo uqe hace es comprobar que una cadena no tenga ningun caracter raro. si tiene algo raro devuelve false, si tiene letras, o algun caracter opcional que le mandamos por paramaetro, todo ok! ;) //compruebo que el tamaño del string sea válido. if (strlen($string) < $longitudMin || strlen($string) > $longitudMax) { return false; } //compruebo que los caracteres sean los permitidos if($permitidos == 'todos') $permitidos = "\r\n abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRCSTUVWXYZº)(.,:;-_¡!¿?@1234567890+áéíóúÁÉÍÓÚÜü$ "; if($permitidos == 'localidad') $permitidos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRCSTUVWXYZ1234567890áéíóúÁÉÍÓÚ "; if($permitidos == 'tel') $permitidos = "-1234567890 "; for ($i = 0; $i < strlen($string); $i++) { if (strpos($permitidos, substr($string, $i, 1)) === false) { $GLOBALS['mensaje'] = "Error en el campo que introdujo: " . $string; return false; } } return true; }
yo use 2 variantes de esta funcion, una definiendo la variable permitidos de acuerdo a lo que meta como parametro, y la otra que me fue de utilidad una vez fue declarando como permitidos letras mayusuculas y minusculas por ejemplo, y concatenandole simbolos que los recibo por parametro en la variable $permitidos.. Saludos!
|
|
|
|
|
En línea
|
|
|
|
|
|
|
snf
|
Creo que md5 asi nomas, ya no es recomendable, es casi como guardarlo en texto plano :p. Lo ideal seria usar un hash salteado, no se si esta funcion se usa, pero parece la recomendable: http://php.net/manual/en/function.crypt.php , ahi hay un ejemplo de como usar el salt.
|
|
|
|
|
En línea
|
|
|
|
|
|
|
 |