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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Login en Php con txt
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Login en Php con txt  (Leído 9,704 veces)
tunante2012

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Login en Php con txt
« en: 23 Febrero 2012, 23:49 pm »

Hola saludos.... necesito hacer un codigo en php para poder validar login y use en php.... desde bloc de notas.. sin usar mysql(eso si se)... se como entrar valores y crear el archivo en bloc de notas ...
user1|clave1
user2|clave2
......|.....
.....|.....

alguien tiene idea de como se puede hacer validar el usuario y la contraseña   


En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Login en Php con txt
« Respuesta #1 en: 23 Febrero 2012, 23:53 pm »

Puedes recoger los valores

$_POST['user'];
$_POST['pass'];

Luego vas recorriendo el fichero de texto hasta que encuentres un user (hemos de suponer que los users son únicos), y en caso de dar true, comparar la contraseña.

Para separar user|password del fichero, puedes usar la función explode, y para aprender a recorrer un fichero, te recomiendo que leas acerca de las funciones fopen, feof, fclose...

Un saludo!


En línea

tunante2012

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Login en Php con txt
« Respuesta #2 en: 24 Febrero 2012, 00:14 am »

Te paso lo k he estado haciendo.... quisiera que me digas el error y si puedes ayudarme a corregirlo
Código:
session_start();
$Codigo = $_POST['usuario'];
$Clave = $_POST['contrasena'];

$abrir=fopen("usuario.txt","r") or die ("Error - No fue posible abrir el archivo");

while ($linea=fgets($abrir))
{
 $partes=explode('|',trim($linea))
 }
if (($Codigo==$partes[0]) && ($Clave==$partes[1]))
{
header('location:mantenimento.php');
}
else {
header('location:registro.html');

}

fclose("usuario.txt");
En línea

‭lipman


Desconectado Desconectado

Mensajes: 3.062



Ver Perfil WWW
Re: Login en Php con txt
« Respuesta #3 en: 24 Febrero 2012, 12:45 pm »

Especifícamente el error que te da, puede ser que sea porque usas "header" y para poder usar esta no debes tener codigo html encima de donde está esta función.

He hecho un código que funciona, pero primero te voy a decir el porqué tu forma no es eficiente:
Para empezar, dentro del while, estás todo el rato haciendo la función explode al principio. Esto no es necesario (ni siquiera es necesario usarla realmente) ya que si sabes que el usuario no corresponde con el usuario, para qué partirlo y gastar recursos?

Por otra parte, cuando uses "if"s de una línea, no pongas llaves para que se vea más limpio.

Por último y respecto al tema de seguridad, si haces lo de header:location, cualquiera que sepa la localización del que da como true, puede acceder (a no ser que lo securices). Yo recomendaria hacer includes.

Ahora, te paso el código que he hecho, el cual obviamente, es una prueba. Por cierto, para otra vez, pon el código entre los tags adecuados para que se vea mejor:

Código
  1. $user = "user4";
  2. $pass = "pass4";
  3.  
  4.  
  5. $f=fopen("text.txt","r");
  6.  
  7. while(!feof($f)){
  8.  
  9. $linea = fgets($f);
  10.  
  11. //Pregunto si la linea empieza por el nombre de usuario dado, y si le sigue la barra vertical
  12. if(preg_match("/(^".$user."\|)/",$linea))
  13. //En caso de ser correcto, compruebo que empiece por el nombre de usuario, contenga la barra, y acabe en la contraseña.
  14. if(preg_match("/(^".$user.")\|(".$pass."$)/",$linea))
  15. echo "ENTRO";
  16. else
  17. echo "FALSO";
  18. else
  19. echo "FALSO";
  20. }
  21.  
  22. fclose($f);

Nota: las contraseñas están en el formato especificado, pero muy importante, para que funcione con lo que he puesto, el texto ha de estar en formato de Unix, sino no reconoce el símbolo $ (final de línea) de las expresiones regulares tal como deberia.

Un saludo!
En línea

tunante2012

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Login en Php con txt
« Respuesta #4 en: 25 Febrero 2012, 04:00 am »

jejejeej Gracias es mucho mejor que el k habia arreglado.......
En línea

Oshrik

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Login en Php con txt
« Respuesta #5 en: 27 Diciembre 2012, 20:03 pm »

Holaaaa!
antes de nada comentarte que es un gran aporte.
Por mi parte, debo comentarte que lo he probado, tal cual como lo has escrito, y lo unico que me sale, es todo el rato Falso. He ido poniendo print, y lo que lee del fichero y lo que guarda es lo mismo. Y no entiendo el porque. Soy nuevo en este foro, y no se si deberia abrir otro hilo subiendo los tres ficheros y intentar entre todos averiguar porque soy el unico paleto que no le funciona. Muchas gracias
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Login en Php con txt
« Respuesta #6 en: 27 Diciembre 2012, 20:07 pm »

Hola @Oshrik, el tema es de Febrero de 2012, estamos a Diciembre. Lo mejor seria que abras otro hilo poniendo los códigos que tienes.


Saludos
« Última modificación: 27 Diciembre 2012, 20:12 pm por drvy | BSM » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
login
PHP
::: Devil ::: 5 3,319 Último mensaje 16 Octubre 2008, 03:13 am
por lucaprodan
Login con SQL
Programación Visual Basic
ToNy_EsP 4 4,102 Último mensaje 17 Julio 2009, 05:52 am
por DarkMatrix
login
Desarrollo Web
Pirat3net 5 2,676 Último mensaje 9 Abril 2012, 21:24 pm
por jhonatanAsm
Inyección SQL a Login ASP
Nivel Web
Stuxnet 3 8,938 Último mensaje 3 Octubre 2013, 04:37 am
por misterioo
Login Wifislax 4.10.1
Wireless en Linux
EtXeBe-X 2 5,006 Último mensaje 27 Abril 2015, 15:01 pm
por EtXeBe-X
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines