elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Sistema de ingreso de usuario en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 5 6 7 8 9 Ir Abajo Respuesta Imprimir
Autor Tema: Sistema de ingreso de usuario en PHP  (Leído 18,036 veces)
jamarchi

Desconectado Desconectado

Mensajes: 151



Ver Perfil
Sistema de ingreso de usuario en PHP
« en: 30 Marzo 2007, 22:10 pm »

Hola gente.....   ;D

Tengo que hacer lo siguiente.... mi cliente quiere que si el usuario no esta logueado no pueda ver ninguna informacion del sitio web (alrededor de 15 paginas), osea que no pueda ver nada de la pagina 13 sin estar logueado.....

Realmente soy nuevo en este tema de la seguridad y nunca he hecho nada parecido.....   :huh:

lo que tengo por el momento hecho es el registro de los usuarios en una base de datos.....

Quisiera que me ayudaran a ver que puedo utilizar para realizar esto

De antemano mil gracias.....  ;D

Saludos , 


En línea

Luisango


Desconectado Desconectado

Mensajes: 313



Ver Perfil WWW
Re: Sistema de ingreso de usuario en PHP
« Respuesta #1 en: 30 Marzo 2007, 22:38 pm »

Bien, ahora lo que tienes que hacer es el logueo y aqui te hago un codigo improvisado que tenia por ahi (mejoralo si quieres):
Código:
<?php
if($_POST["entrar"]){

if($_POST["username"] && $_POST["password"]){

$contraseña = md5("$_POST[password]"); //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]' or email='$_POST[username]'");
$datos = mysql_fetch_array($query);

if($datos[contraseña] == $contraseña){ // 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("contraseña",$contraseña,time()+90000);

if($HTTP_REFERER){ // lo redirige
header("Location: $HTTP_REFERER");
} else {
header("Location: TUPAGINADEINICIO.htm");
}

} else {

echo "La contraseña es incorrecta";

}

} else {

echo "Faltan campos por rellenar";

}

} else {

echo "Estas haciendo un uso indevido del login";

}
?>


Y ahora ya tienes el usuario logueado y con las cookies calentitas y dispuestas a ser usadas, entonces entramos a la proteccion de las paginas:

Código:
<?php
if($_COOKIE[id]) {

// Aqui va el codigo que quieras proteger

} else {

echo "Solo los usuarios registrados pueden acceder a esta sección";

}//Fin
?>

Y por ultimo, esto no lo pedias pero creo que te hara falta asique ahi va el deshacedor de las cookies o el logout:

Código:
<?php
if($_COOKIE[id] && $_COOKIE[nick] && $_COOKIE[contraseña]){

setcookie("id");
setcookie("nick");
setcookie("contraseña");

if($HTTP_REFERER){
header("location: $HTTP_REFERER");
} else {
header("location: TUPAGINADEINICIO.htm");
}


} else {


echo "No estas logueado!";

}
?>

En todos los archivos debes incluir la conexion a la base de datos.

Para utilizar los datos del usuario mediante las cookies lo pones asi:
Código:
<?php

echo $_COOKIE[id];  //para la id
echo $_COOKIE[nick]; //para el nick
echo $_COOKIE[contrasena];  // para la contraseña, no la utilizes xD

?>

Te recomiendo que los pongas en archivos diferentes y te vayas a ellos mediante por ejemplo para el login la accion del form:
Código:
<form ---->action="lapaginadellogin.php"<----  >

Y ya esta, asiqeu si tienes alguna duda mas solo ponmelo aqui


« Última modificación: 30 Marzo 2007, 22:56 pm por Degmaster » En línea

Even better...
jamarchi

Desconectado Desconectado

Mensajes: 151



Ver Perfil
Re: Sistema de ingreso de usuario en PHP
« Respuesta #2 en: 30 Marzo 2007, 22:49 pm »


oye Degmaster gracias por la respuesta tan pronto.....

dejame ver si entendi bien.....

Este codigo lo pongo en la pagina de inicio o bien de logueo, cierto ?

Si el password son iguales entonces pone las cookies, cierto ? si no pues no.....

ahora bien.... tnego un par de consultas .....  :huh:
1. Que pase si el usuario se dirire directamente a la pagina 13, por ejemplo, osea.... se salta el logueo y digita directamente la ruta (url) la de pagina 13 ?

2. A que te refieres con header("Location: TUPAGINADEINICIO.htm"); es el indix ?

Gracias   :D
En línea

Luisango


Desconectado Desconectado

Mensajes: 313



Ver Perfil WWW
Re: Sistema de ingreso de usuario en PHP
« Respuesta #3 en: 30 Marzo 2007, 22:52 pm »

1. si pones la proteccion antes del codigo del pagineo de contenido es imposible que se salte el login
2. si es el index xD

PD: me faltan cosas en el post, que lo estoy modificando
En línea

Even better...
Luisango


Desconectado Desconectado

Mensajes: 313



Ver Perfil WWW
Re: Sistema de ingreso de usuario en PHP
« Respuesta #4 en: 30 Marzo 2007, 22:57 pm »

Ya esta todo puesto, y como te he dicho antes, si tienes alguna duda, solo posteala que te la respondere jejej

PD: se me olvidaba, los mysql_query, los modificas a tu gusto que estan puestos para unas tablas ya hechas que tengo asique nada.. suerte!

Un saludo!
« Última modificación: 30 Marzo 2007, 23:01 pm por Degmaster » En línea

Even better...
jamarchi

Desconectado Desconectado

Mensajes: 151



Ver Perfil
Re: Sistema de ingreso de usuario en PHP
« Respuesta #5 en: 30 Marzo 2007, 23:37 pm »

oye Degmaster gracias nuevamente por la respuesta tan pronta.....

Quiero hacer u nresumen para ver si entendi bien todo esto...

en la pagina de logueo o en el index.php tiene que ir esto
Código:
<?php
if($_POST["entrar"]){

if($_POST["username"] && $_POST["password"]){

$contraseña = md5("$_POST[password]"); //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]' or email='$_POST[username]'");
$datos = mysql_fetch_array($query);

if($datos[contraseña] == $contraseña){ // 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("contraseña",$contraseña,time()+90000);

if($HTTP_REFERER){ // lo redirige
header("Location: $HTTP_REFERER");
} else {
header("Location: TUPAGINADEINICIO.htm");
}

} else {

echo "La contraseña es incorrecta";

}

} else {

echo "Faltan campos por rellenar";

}

} else {

echo "Estas haciendo un uso indevido del login";

}
?>


ahora bien..... cada pagina de mi sitio... por ejemplo la pagina 13.... llamemosla por ejemplo resumen.php tiene que ir este codigo desde el principio.... de hecho creo que este es el inicio, cierto ?

Código:
<?php
if($_COOKIE[id]) {

// Aqui va el codigo que quieras proteger

} else {

echo "Solo los usuarios registrados pueden acceder a esta sección";

}//Fin
?>


para cada pagina tengo un link o referencia a una pagina logout.php que seria esta
Código:
<?php
if($_COOKIE[id] && $_COOKIE[nick] && $_COOKIE[contraseña]){

setcookie("id");
setcookie("nick");
setcookie("contraseña");

if($HTTP_REFERER){
header("location: $HTTP_REFERER");
} else {
header("location: TUPAGINADEINICIO.htm");
}


} else {


echo "No estas logueado!";

}
?>


Estoy en lo correcto ?  ;D

Ahora bien.... no me quedo muy claro estas dos cosas.....

Para utilizar los datos del usuario mediante las cookies lo pones asi:

Código:
<?php

echo $_COOKIE[id];  //para la id
echo $_COOKIE[nick]; //para el nick
echo $_COOKIE[contraseña];  // para la contraseña, no la utilizes xD

?>

Te recomiendo que los pongas en archivos diferentes y te vayas a ellos mediante por ejemplo para el login la accion del form:

Código:
<form ---->action="lapaginadellogin.php"<----  >

Esas dos cosas no me quedaron muy claras....  me puedes explicar eso por favor ......

Saludos  ;D

En línea

[ Alberto]
Wiki

Desconectado Desconectado

Mensajes: 1.232



Ver Perfil
Re: Sistema de ingreso de usuario en PHP
« Respuesta #6 en: 30 Marzo 2007, 23:41 pm »

tambien podrias usar variables de sesion y obtienes el mismo resultado que con cokies http://dns.bdat.net/trucos/faqphp-v1/x942.html
En línea

Debemos de hacer todas las cosas sencillas, excepto las cosas sencillas
jamarchi

Desconectado Desconectado

Mensajes: 151



Ver Perfil
Re: Sistema de ingreso de usuario en PHP
« Respuesta #7 en: 30 Marzo 2007, 23:46 pm »

gracias Alberto..... :D

Pero.... que son variables de sesion....   :o me puedes hechar la manos y explicarme eso de las seciones....

Saludos,  ;D
En línea

Luisango


Desconectado Desconectado

Mensajes: 313



Ver Perfil WWW
Re: Sistema de ingreso de usuario en PHP
« Respuesta #8 en: 31 Marzo 2007, 00:27 am »

mejor no liemos las cosas jejeje
vamos a ver
en un formulario cuando le das al boton enviar te redirige a una pagina no? pues eso es el action="" para que te redirija a la pagina de logueo.

A la que la has llamado index.php preferiria que como veo que no eres muy experimentado para hacer cosas "raras" qeu lo pusieses por ejemplo en login.php.
Y como tu has dicho para que el usuario se desconecte haz una referencia al logout.php, antes de nada la proteccion de la pagina no la pongas al principio de cada pagina sino donde sea necesario, ya que puedes mezclar php y htm juntos.

Si hay algo mas en lo que te pueda ayudar... ya sabes
En línea

Even better...
Hans el Topo


Desconectado Desconectado

Mensajes: 1.752


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: Sistema de ingreso de usuario en PHP
« Respuesta #9 en: 31 Marzo 2007, 00:54 am »

gracias Alberto..... :D

Pero.... que son variables de sesion....   :o me puedes hechar la manos y explicarme eso de las seciones....

Saludos,  ;D

www.php.net    .... busca ahi todo lo que no entiendas
En línea

 
Páginas: [1] 2 3 4 5 6 7 8 9 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sistema de autenticación con NodeJS / Validación de usuario
Desarrollo Web
Diesan Romero 3 1,447 Último mensaje 21 Octubre 2016, 23:51 pm
por Diesan Romero
Error al registrar un usuario en el sistema
PHP
Antoniio 3 920 Último mensaje 24 Febrero 2018, 03:06 am
por engel lex
Problemas de ingreso
PHP
jacarvy 5 738 Último mensaje 22 Mayo 2021, 01:26 am
por jacarvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines