Sistema de ingreso de usuario en PHP

Iniciado por jamarchi, 30 Marzo 2007, 22:10 PM

0 Miembros y 3 Visitantes están viendo este tema.

jamarchi

#60

Hola SERBice   ;D

Gracias por tu respuesta, oye, te agradezco toda la ayuda que me puedas dar.... yo lo unico que quiero es que la gente tenga que loguearse para poder ver la info privada....

Bueno de hecho ahora estoy chequeando un codigo que Hans el Topo me paso.... (gracias Hans )

validar.php
<?php
include ("includes/config.php");
include (
"includes/funciones.php");
//nos conectamos a mysql
$cnx conectar ();
if(
$_POST["entrar"]){
if($_POST["username"] && $_POST["pass"]){
$contraseña md5("$_POST[pass]"); 
$query mysql_query("SELECT * FROM usuarios WHERE nick='".$_POST['username']."'",$cnx);
$datos mysql_fetch_array($query); 
if($datos['pass'] == $pass){//si las pass son =// crea la cookie del user con la id el nick y la pass
setcookie("id",$datos['id'],time()+90000);  setcookie("nick",$datos['nick'],time()+90000);  setcookie("pass",$pass,time()+90000);
                        
//redireccionas donde quieras login correcto
                
}
}
}
//pa la pag de error
?>


De antemano gracias por la ayuda....  :D

Luisango

Even better...

SERBice

Cita de: jamarchi en 20 Abril 2007, 22:12 PM

Hola SERBice   ;D

Gracias por tu respuesta, oye, te agradezco toda la ayuda que me puedas dar.... yo lo unico que quiero es que la gente tenga que loguearse para poder ver la info privada....

Bueno de hecho ahora estoy chequeando un codigo que Hans el Topo me paso.... (gracias Hans )

validar.php
<?php
include ("includes/config.php");
include (
"includes/funciones.php");
//nos conectamos a mysql
$cnx conectar ();
if(
$_POST["entrar"]){
if($_POST["username"] && $_POST["pass"]){
$contraseña md5("$_POST[pass]"); 
$query mysql_query("SELECT * FROM usuarios WHERE nick='".$_POST['username']."'",$cnx);
$datos mysql_fetch_array($query); 
if($datos['pass'] == $pass){//si las pass son =// crea la cookie del user con la id el nick y la pass
setcookie("id",$datos['id'],time()+90000);  setcookie("nick",$datos['nick'],time()+90000);  setcookie("pass",$pass,time()+90000);
                        
//redireccionas donde quieras login correcto
                
}
}
}
//pa la pag de error
?>


De antemano gracias por la ayuda....  :D

ese codigo es vulnerable, bastará con que yo cree las cookies en mi navegador, y no importará si los datos son incorrectos ya qe no cmopruebas los valores de las cookies. Luego te pongo un ejemplo cno sesiones, es mas seguro.

Hans el Topo

claro que es vulnerable, desde luego xk faltan los comentarios iniciales en el que le puse que tenía que comprobar si los valores de las cookies son correctos y no intentos de lameradas, pero supongo que el muchacho estará bastante liado con tanto code como se ha posteado xD

cuando me ponga a realizar un ingreso de usuarios para mi próximo proyecto, comparto el code con vosotros (y de paso criticáis los posibles fallos/inseguridades) la idea seria crear un ingreso de usuario seguro como base para los foreros
 

SERBice

no, no es vulnerable, es super vulnerable.

el contenido de resumen.php despues de loguearte es:
<h1>&nbsp;</h1><h1>YES !!</h1><p>&nbsp;</p><a href='logout.php'>Salir</a></body>
</html>


y simplemente lo que hice fue crear las cookies falsas "id", "nick" y "pass" jeje....


En Google: http://www.google.com.ar/search?hl=es&q=sesiones+en+php&meta=

Uno de los resultados de la búsqueda: http://www.desarrolloweb.com/articulos/235.php

investiga un poco, si necesitas ayuda la pides.

Hans el Topo

Cita de: SERBice en 30 Abril 2007, 21:28 PM
no, no es vulnerable, es super vulnerable.

el contenido de resumen.php despues de loguearte es:
<h1>&nbsp;</h1><h1>YES !!</h1><p>&nbsp;</p><a href='logout.php'>Salir</a></body>
</html>


y simplemente lo que hice fue crear las cookies falsas "id", "nick" y "pass" jeje....


En Google: http://www.google.com.ar/search?hl=es&q=sesiones+en+php&meta=

Uno de los resultados de la búsqueda: http://www.desarrolloweb.com/articulos/235.php

investiga un poco, si necesitas ayuda la pides.

llevo desde el comienzo del post advirtiendole de lo que tu acabas de decir... macho leete los temas antes de contestar xD
 

SERBice

Cita de: Hans el Topo en 30 Abril 2007, 23:53 PM
Cita de: SERBice en 30 Abril 2007, 21:28 PM
no, no es vulnerable, es super vulnerable.

el contenido de resumen.php despues de loguearte es:
<h1>&nbsp;</h1><h1>YES !!</h1><p>&nbsp;</p><a href='logout.php'>Salir</a></body>
</html>


y simplemente lo que hice fue crear las cookies falsas "id", "nick" y "pass" jeje....


En Google: http://www.google.com.ar/search?hl=es&q=sesiones+en+php&meta=

Uno de los resultados de la búsqueda: http://www.desarrolloweb.com/articulos/235.php

investiga un poco, si necesitas ayuda la pides.

llevo desde el comienzo del post advirtiendole de lo que tu acabas de decir... macho leete los temas antes de contestar xD

no solo vos venis advirtiendo eso, no te cabrees nadie te va a quitar el merito de haber advertido. Yo tambien lo hago desde el inicio, sino fijate que estoy e este hilo desde los primeros post.

Lo unico que hice fue "demostrar" con un ejemplo practico que es posible, para que jamarchi no se siga fiando de este code.

romi

Estoy investigando y trabajando con este tema ;D...en mi opinion son mejores las sesiones, las cookies no son soportadas por todos los navegadores, otra cosa si no encriptas de alguna manera la contraseña (vi q usas md5), cualquiera que "tenga" acceso al directorio donde se guardan las cookies podra sacarlo de alguna manera, recordemos que las cookies quedan almacenadas en la maquina del usuario y no nos confiemos de que nadie podra sacar esa info. :-X

Otra cosa que estoy buscando todavia para termianr de convencerme...no hay manera de "hackear" una sesion...o sea puede darse el caso de que un snifer o algun programita o hacker nos saque del trafico de la red justo el paquete q contenga el id_session? o algun otro ataque mas o menos facil o no para hacerse de los datos de la sesion ...?¿? se entiende mi dudA=? :huh:

Bueno espero que aporte algo...

SERBice

Cita de: romi en  8 Mayo 2007, 02:00 AM
Estoy investigando y trabajando con este tema ;D...en mi opinion son mejores las sesiones, las cookies no son soportadas por todos los navegadores, otra cosa si no encriptas de alguna manera la contraseña (vi q usas md5), cualquiera que "tenga" acceso al directorio donde se guardan las cookies podra sacarlo de alguna manera, recordemos que las cookies quedan almacenadas en la maquina del usuario y no nos confiemos de que nadie podra sacar esa info. :-X

Otra cosa que estoy buscando todavia para termianr de convencerme...no hay manera de "hackear" una sesion...o sea puede darse el caso de que un snifer o algun programita o hacker nos saque del trafico de la red justo el paquete q contenga el id_session? o algun otro ataque mas o menos facil o no para hacerse de los datos de la sesion ...?¿? se entiende mi dudA=? :huh:

Bueno espero que aporte algo...


Error amigo, las sessiones si son mas seguras, pero te equivocas e lo del soporte de coockies. Mejor dicho, es verdad que algunos navegadores no soportan cookies, por lo tanto tampoco sesiones. las sesiones son "cookies del lado del servidor" y para el servidor saber que id de session le corresponde al visitante utiliza una cookie e el navegador, por lo tanto si el navegador no sooprta cookies las sessiones tampoco sirven.

En lugar de guardar todas las cookies en el cliente se ahce en el servidor y se le da un identificador al cliente apra que el servidor lea la sesion con el identificador que tiene la cookie del cliente.

Si, hay forma de obtener el session ID, simplemente puedes  hackear la we con xss si es vulnerable o si tienes acceso a la "pc victima" peudes sacar el id_session a mano. pero de mucho no sirve aveces, mucha pagnas tienen caducidad de sesiones, y debes actuar rapido. La cookie con el id session po defecto en php es phpsesid.

jamarchi

#69
Hola Gente.....  ;D

Pues me tuve que perder por un rato debido a circunstancias fuera de mi control pero ya estoy de vuelta.....  ::)

Estaba lleyendo los comentarios que han puesto y se los agradezco.... lo que si me quedo claro con todo eso fue que el codigo de  verdad que esta muy vulnerable..... asi que la pregunta seria.... que seria lo mejor uqe se puede hacer para tener un buen codigo

Gracias.....