Foros del Web » Programando para Internet » PHP »

Simple sistem autentificacion ( texto plano)

Estas en el tema de Simple sistem autentificacion ( texto plano) en el foro de PHP en Foros del Web. Hola amigos, tengo un problema y es que necesito un sistema simple de identificacion para una pagina Web. Antes que nada: Ya se que se ...
  #1 (permalink)  
Antiguo 07/01/2009, 19:36
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Mensaje Simple sistem autentificacion ( texto plano)

Hola amigos, tengo un problema y es que necesito un sistema simple de identificacion para una pagina Web.
Antes que nada: Ya se que se deberia hacer en php (incluso tengo uno basado en php).

Bueno en realidad concretamente lo que necesito es un sistema que al entrar en una pagina me pida el nombre de usuario y la clave, las cuales se hallaran reistradas en un archivo.txt, esto lo quiero hacer puesto que el unico que va poder entrar ahi voy a ser yo y nadie mas por lo que no me interesa ni el tema de las BD, ni de registros etc etc..
Espero que me echen un cablezito un SALUDOOO
  #2 (permalink)  
Antiguo 07/01/2009, 19:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

Mmmm no te basta un simple "if"?:
Código php:
Ver original
  1. <?php
  2. if($_POST['pass'] != "tupass" ) {
  3.        die("No puedes entrar aqui");
  4. }

Saludos.
  #3 (permalink)  
Antiguo 07/01/2009, 19:45
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Cita:
Iniciado por GatorV Ver Mensaje
Mmmm no te basta un simple "if"?:
Código php:
Ver original
  1. <?php
  2. if($_POST['pass'] != "tupass" ) {
  3.        die("No puedes entrar aqui");
  4. }

Saludos.
ese es seguro no? bueno da = tampoco es que quiera una caja fuerte.

Perdona de nuevo y que es lo que tengo que sustituir ahi estoy un poco confuso

Última edición por GatorV; 07/01/2009 a las 20:57
  #4 (permalink)  
Antiguo 07/01/2009, 20:18
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Simple sistem autentificacion ( texto plano)

Solo tienes que comparar los datos que recoges de tu variable de formulario con una cadena ESTATICA, en el caso de el ejemplo de GatorV, "tupass".
  #5 (permalink)  
Antiguo 08/01/2009, 08:25
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Simple sistem autentificacion ( texto plano)

Cita:
Iniciado por Ronruby Ver Mensaje
Solo tienes que comparar los datos que recoges de tu variable de formulario con una cadena ESTATICA, en el caso de el ejemplo de GatorV, "tupass".
Si pero solo recoje el pass, y tambien me gustaria que recojiera y comparara el nombre de usuario.
  #6 (permalink)  
Antiguo 08/01/2009, 09:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

Pues solo juega con la condición if:
Código php:
Ver original
  1. <?php
  2. if(($_POST['user'] == "tuuser") && ($_POST['pass'] != "tupass" )) {
  3.        die("No puedes entrar aqui");
  4. }

Saludos
  #7 (permalink)  
Antiguo 08/01/2009, 10:48
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Simple sistem autentificacion ( texto plano)

Cita:
Iniciado por GatorV Ver Mensaje
Pues solo juega con la condición if:
Código php:
Ver original
  1. <?php
  2. if(($_POST['user'] == "tuuser") && ($_POST['pass'] != "tupass" )) {
  3.        die("No puedes entrar aqui");
  4. }

Saludos
OK ya esta era eso lo que necesitaba, ya tenemos el codigo, pero para concluir ya, ese codigo donde lo debo poner para que funcione?
1 - en el principio de la pagina a proteger??
2 - o debo crear otra pagina en la que pida el usser y el pass y poner dicho codigo ahi.
-------------------------
P.D en el caso de que tuviera que crear otra pagina donde te pida el usser y el pass para poner dicho codigo, Entonces imagunemos que yo entro, pongo el usser y el pass correcto, pero como me redirecciona al introducir los valores correctamente, a la pagina que quiero.
  #8 (permalink)  
Antiguo 08/01/2009, 10:57
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Respuesta: Simple sistem autentificacion ( texto plano)

En cada página que quieras proteger agrega ese código. Podes hacer un archivo aparte que contenga solo ese código y después incluirlo en cada página que necesitas autorizar el ingreso.
Para incluir un archivo usa include('archivo.php').
Saludos.
__________________
Add, never Remove
  #9 (permalink)  
Antiguo 08/01/2009, 11:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

Pues al venir los valores por $_POST solamente debes de incluirlo donde este el target de tu formulario, si quieres proteger una serie de paginas entonces debes de usar una sesión para ir rastreando si es correcto o no.

Saludos.
  #10 (permalink)  
Antiguo 08/01/2009, 11:22
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Simple sistem autentificacion ( texto plano)

Cita:
Iniciado por GatorV Ver Mensaje
Pues al venir los valores por $_POST solamente debes de incluirlo donde este el target de tu formulario, si quieres proteger una serie de paginas entonces debes de usar una sesión para ir rastreando si es correcto o no.

Saludos.
Correcto solo quiero proteger una:
PERO no encuentro el target ¿No te referiras a dond epone "action"?


<body>

<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="fpweb:///_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p><input type="text" name="usuario" size="20"></p>
<p><input type="password" name="clave" size="20"></p>
<p><input type="submit" value="Enviar" name="B1"></p>
</form>

</body>

</html>
  #11 (permalink)  
Antiguo 08/01/2009, 11:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

Asi es, el action es a donde va a ir tu formulario al presionar submit.

Saludos
  #12 (permalink)  
Antiguo 08/01/2009, 11:44
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Simple sistem autentificacion ( texto plano)

Aver entonces resumiendo,
1º primero hago el formulario donde pida el user y el pass
2º luego copio este codigo al principio del form (o mediante "include" dentro del target)
Cita:
<?php
if(($_POST['user'] == "tuuser") && ($_POST['pass'] != "tupass" )) {
die("No puedes entrar aqui");
}
3º LA DUDA que me keda es cuando entro y pongo los datos correctamente en el formulario este nome envia a ningun sitio, obiamente porque no le he puesto nada, como hago para que me direccionea mipage.com si el pass y el usser son correctos??
  #13 (permalink)  
Antiguo 08/01/2009, 11:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

No, en el target pones el nombre del archivo PHP donde vas a recibir las variables de tu formulario. En ese archivo PHP pones el codigo al inicio, y despues pones lo que quieras proteger.

De nada te sirve redireccionar a mipage.com ya que entonces pierdes los valores por POST todo lo que quieras "proteger" debe de ir dentro de la pagina donde este el codigo.

Saludos
  #14 (permalink)  
Antiguo 08/01/2009, 11:57
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Cita:
Iniciado por GatorV Ver Mensaje
No, en el target pones el nombre del archivo PHP donde vas a recibir las variables de tu formulario. En ese archivo PHP pones el codigo al inicio, y despues pones lo que quieras proteger.

De nada te sirve redireccionar a mipage.com ya que entonces pierdes los valores por POST todo lo que quieras "proteger" debe de ir dentro de la pagina donde este el codigo.

Saludos
Ok gatorv gracias tio, aunque ya lo tengo todo listo no me deja cabiar el nombre al action:

Cita:
<td valign="top" height="105">
<!-- MSCellType="ContentBody" -->
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="C:\Users\usuario\Desktop\_private\form_resul ts.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p align="center"><input type="text" name="usuario" size="20"></p>
<p align="center"><input type="password" name="clave" size="20"></p>
<p align="center"><input type="submit" value="Enviar" name="B1"></p>
</form>
<form method="POST" action="--WEBBOT-SELF--">

Intento sustituir el --WEBBOT-SELF-- ese por el nombre del archivo.php donde tengo el codigo y el contenido de la pagina a proteger... PERO NO ME DEJA, lo borro y pongo el nombre que quiero pero cuando el doy a guardar me aparece de nuevo... ¿Que hago?

jajaaj menos malll ya me salio corregi algunas cosillas y ya sta todo perfecto.....
Una preguntilla gatorV, este sistema es facil de saltar? es decir es seguro?

Darles las gracias a:
GATORV
Ronruby
mariano_donati
En especial a ti gatorV

Última edición por GatorV; 08/01/2009 a las 12:12
  #15 (permalink)  
Antiguo 08/01/2009, 12:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

Pues si lo pones dentro del mismo codigo PHP no es posible saltarlo a menos que adivinen el usuario y contraseña.

Saludos
  #16 (permalink)  
Antiguo 08/01/2009, 12:14
 
Fecha de Ingreso: julio-2008
Mensajes: 40
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Simple sistem autentificacion ( texto plano)

Usa sesiones, cuando valides la contraseña, haz algo como $_SESSION[iniciada]="OK";

y en cada script comprueba que $_SESSION[iniciada]=="OK" o redirige a la página de login.
  #17 (permalink)  
Antiguo 08/01/2009, 12:22
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: Simple sistem autentificacion ( texto plano)

como hacer un sistema de logueo sin base de datos ni archivos de texto...

facil, crea estos archivos y listo!


login.php:
Código PHP:
<?php 
require("conf.php");

if(isset(
$_POST['user'])){

// asignar valor a la sesion
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];

}

// direccionar si existe sesion
if(($_SESSION['user'] == $user) && ($_SESSION['pass'] == $pass)){
header("location: index.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ingresar</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="login.php">
  <label>
  Usuario:
  <input type="text" name="user" />
  </label>
  <label> <br />
    Clave:
    <input type="text" name="pass" />
    <br />
  </label>
  <input name="boton" type="submit" value="Ingresar" />
</form>
</body>
</html>
index.php
Código PHP:

<?php require("checkuser.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Pagina con clave</title>
</head>

<body>
Bienvenido <?php echo $_SESSION['user']; ?> \ <a href="logout.php">Salir</a>
</body>
</html>
checkuser.php:
Código PHP:

<?php
require("conf.php");
if((
$_SESSION['user'] != $user) or ($_SESSION['pass'] != $pass)){
header("Location: login.php");
$_SESSION['pass'] = "";
$_SESSION['user'] = "";
}
?>

conf.php
Código PHP:
<?php 
$user
="admin";
$pass="admin";
if (!isset(
$_SESSION)) {
  
session_start();
}
?>

logout.php
Código PHP:
<?php
if (!isset($_SESSION)) {
  
session_start();
}

$_SESSION['user'] = "";
$_SESSION['pass'] = "";
unset(
$_SESSION['user']);
unset(
$_SESSION['pass']);

header("Location: index.php");
exit;
?>

asi de facil...

y cualquier pagina adicional que quieras crear la creas nomas y arriba mismo de todo tenes que poner <?php require("checkuser.php"); ?> y listo...

y para cambiar tu nombre de usuario y contraseña solo tenes que modificar el archivo config.php
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)

Última edición por farra; 08/01/2009 a las 13:36 Razón: cambiar config por conf... coreccion de error
  #18 (permalink)  
Antiguo 08/01/2009, 12:56
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Ok gracias por el aporte pero este sistema es mas rudimentario, es decir tiene muchas mas lineas y al fin y al cabo se puede resumir en las 5 o 6 lineas de codigo que puse mas arriba. por cierto, tiene un error, en el archivo checkuser.php, llama al archivo "conf.php" y se supone que deberia llamar a "config.php" es facil resolver solo hay que acordar un nombre unico.

Por cierto en amos sistemas, si se copia el link de la pagina a proteger, se puede acceder sin user ni pas, cuando no deberia.
alguien sabria resolver ese bug??

Última edición por GatorV; 08/01/2009 a las 13:13
  #19 (permalink)  
Antiguo 08/01/2009, 13:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

Por eso te decia que tienes que poner el contenido de la pagina debajo del if:
Código php:
Ver original
  1. <?php
  2. if(invalido) {
  3.      die("no puedes entrar");
  4. }
  5.  
  6. // aca va todo tu contenido protegido.

Saludos.
  #20 (permalink)  
Antiguo 08/01/2009, 13:28
 
Fecha de Ingreso: julio-2008
Mensajes: 40
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Simple sistem autentificacion ( texto plano)

Gator, te has fijado en el error que tiene el foro?

GatorV
$this->role('moderador');

Eso aparece junto a tu nick, coméntaselo al administrador ;)
  #21 (permalink)  
Antiguo 08/01/2009, 13:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Simple sistem autentificacion ( texto plano)

No es un error, así puse yo mi nick.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:29.