Sistema de ingreso de usuario en PHP

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

0 Miembros y 1 Visitante están viendo este tema.

jamarchi



Amigos, Hermanos, Brothers, Carnales, Colegas, Compañeros, ilumionados, ......... ;D

Ya gracias a Dios y a la ayuda de todos ustedes tengo el problema solucuionado, gracias Degmaster y Hans el topo por toda la ayuda.....

Gracias  ;D

PD: Si alguien quiere el codigo solo me lo pido..... digo... es sencillo pero util.....  :D

deya

Cita de: jamarchi en 17 Abril 2007, 21:20 PM


Amigos, Hermanos, Brothers, Carnales, Colegas, Compañeros, ilumionados, ......... ;D

Ya gracias a Dios y a la ayuda de todos ustedes tengo el problema solucuionado, gracias Degmaster y Hans el topo por toda la ayuda.....

Gracias  ;D

PD: Si alguien quiere el codigo solo me lo pido..... digo... es sencillo pero util.....  :D

Pues pon el código para que todos aprendamos.

Salu2  ;)
"No es mas pobre el que tiene poco, sino el que mucho ambiciona" Charles Chaplin.


The Neurochild

Estoy interesado en el código de este ejemplo, quisiera que lo pusieras, yo también tengo una página con sistema de identificación de usuarios que quisiera mejorar

Saludos

The Neurochild

jamarchi


Bueno gente.... como lo han pedido lo voy a poner.....

en los proximos minutos pongo todos los archivos aqui para que lo puedan copiar y usar..... claro.... interface ...... nada... el ejemplo es un unico form, nada mas....  ;D

De antemano si alguien lo puede mejorar para hacerlo mas seguro pues adelante y que lo ponga aca para que todos lo copiemos y aprendamos.....

Gracias  ;D

jamarchi


Bueno Amigos, Hermanos, Brothers, Carnales, Colegas, Compañeros, ilumionados, ......... lo prometido es deuda   ;D

Este codigo esta compuesto por  cuatro archivos

  • Index.php : Este se encarga de tomar los valores (username y password)
  • Validar.php: Este chequea que el usuario este registrado en la base de datos y pone las cookies
  • Resumen.php: Aqui ponemos la info que queremos protejer
  • Logout.php: Salimos y borra las cookies

A groso modo esa es la explicación de cada uno, ahora si.... vamos al codigo

Index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<div align="center">
  <form name="form1" method="post" action="validar.php">
    <table width="45%"  border="1">
      <tr>
        <td width="47%">Username</td>
        <td width="53%"><input name="username" type="text" id="username"></td>
      </tr>
      <tr>
        <td>Password</td>
        <td><input name="pass" type="text" id="pass"></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>
          <div align="right">
            <input name="entrar" type="submit" id="entrar" value="Entrar">
          </div></td>
      </tr>
    </table>
  </form>
</div>
</body>
</html>


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]"); //esto de md5 es para comparar si guardas la passwd en md5 si no borralo
$query mysql_query("SELECT * FROM usuarios WHERE nick='$_POST[username]'");
$datos mysql_fetch_array($query); 
if($datos[pass] == $_POST["pass"]){ // si las pass son =// crea la cookie del usuario con la id el nick y la pass
setcookie("id",$datos[id],time()+90000);
setcookie("nick",$datos[nick],time()+90000);
setcookie("pass",$_POST["pass"],time()+90000);
//if($HTTP_REFERER){ // lo redirige
header("Location: resumen.php"); //} // Esto es lo que tenia header("location: $HTTP_REFERER");
//else {
// header("Location: index.php");
//}
} else {
header("Location: index.php");
echo "La contraseña es incorrecta";
}
} else {
echo "Faltan campos por rellenar";
}
} else {
echo "Estas haciendo un uso indevido del login";
}
?>





Resumen.php
<?php
if($_COOKIE[id]) 
{
//echo "<META HTTP-EQUIV=\"refresh\" content=\"0\">";
echo "<h1>&nbsp;</h1>";
echo "<h1>YES !!</h1>";
echo"<p>&nbsp;</p>";
echo"<a href='logout.php'>Salir</a>";
// Aqui va el codigo que quieras proteger
} else 
{echo 
"Solo los usuarios registrados pueden acceder a esta sección";
echo"<a href='index.php'>Entrar</a>";
}
//Fin

?>

</body>
</html>



Logout.php
<?php 

if($_COOKIE[id] && $_COOKIE[nick] && $_COOKIE[pass]){

setcookie("id");
setcookie("nick");
setcookie("pass");

if($HTTP_REFERER){
header("location: $HTTP_REFERER");
} else {
header("location: index.php");
}

};
?>



Bueno gente.... ahi esta el codigo, logicamente ahi falta hacer la conexión a la base de datos, como dije en el post anterior si alguien lo puede mejorar pues adelante y que lo ponga aqui para ir mejorando todos....

Gracias

Hans el Topo

el code sigue siendo inseguro, además para acceder a la zona privilegiada no hace falta ni logearse...

no recomiendo utilizar ese code a nadie que quiera proteger algún archivo o zona xD
 

jamarchi

#56
Hola Gente.....

Hans el Topo, no entiendo porque dices que es inseguro y esta mal si es practicamente el codigo que me pasaste, me podrias dedir que es lo malo para ver como se puede solucionar por favor

Gracias ;D

PD: Lo raro es que lo acabo de probar con 5 personas y las las 5 les salio la parte donde dice que solo los usuarios registrados pueden ingresar....   >:( , como te digo si hay alguin error como se puede solucionar....

Hans el Topo

Cita de: jamarchi en 19 Abril 2007, 15:09 PM
Hola Gente.....

Hans el Topo, no entiendo porque dices que es inseguro y esta mal si es practicamente el codigo que me pasaste, me podrias dedir que es lo malo para ver como se puede solucionar por favor

Gracias ;D

PD: Lo raro es que lo acabo de probar con 5 personas y las las 5 les salio la parte donde dice que solo los usuarios registrados pueden ingresar....   >:( , como te digo si hay alguin error como se puede solucionar....

Si hubieses visto la estructura de mi código te habrías dado cuenta de que es lo que no haces... bastante hice con pasteartelo y explicartelo como para ahora resumirtelo xD

si te interesa miralo, compara y saca tus propias conclusiones xD
 

jamarchi



OK.... entiendo....

Lo voy a chequear nuevamente y cuando lo tenga listo lo vuelvo a poner aqui.....

Saludos  ;D

SERBice

te lo hare "cortito, y al pie" como decimos aqui en Argentina:

tu haces todas las cmprobaciones y creas las cookies para luego redirigir al usuario autnticadoa una pagina sin una p**a preoteccion (resumen.php), lo cual es lo mismo que el usuario escriba www.tuweb.com/resumen.php y listo, y no hace falta login ni nada, te esta fallando un pokito la logica, pero vas por buen camino....

si luego tengo mas tiempo te doy un ejemplo utilizable simple (esto quiere decir que no sera seguro al nivel de decir, es casi perfecto, solo será mas seguro que el tuyo, pero un script de estas caracteristicas lleva un tiempo pensarlo y depende del sitio en el que se implemente.... etc etc etc, y ademas llevan un toke personalizado, por lo cual si te lo hiciera "muy perfecto" estaria copiando el login de mi web y por ende dandole el code a otros para que si he cometid un error me ataquen por alli.... en fin, leugo te tiro una mano, ahora estoy algo ocupado...)