Foros del Web » Programando para Internet » PHP »

Ayuda con PHP / Login usuario sin BD

Estas en el tema de Ayuda con PHP / Login usuario sin BD en el foro de PHP en Foros del Web. Nesecito una ayuda, php no se muy bien asi que recurro a ustedes. Tengo los siguientes codigos en PHP que son de login de usuarios ...
  #1 (permalink)  
Antiguo 28/07/2009, 11:42
Avatar de Ratzinger  
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación Ayuda con PHP / Login usuario sin BD

Nesecito una ayuda, php no se muy bien asi que recurro a ustedes.

Tengo los siguientes codigos en PHP que son de login de usuarios


entrar.html
Código:
<form name="frm_login" method="post" action="login.php"><h2 class="texto">
            Nombre de usuario
          <br>
      <span id="sprytextfield1">
          <input name="user" type="text" class="razones" id="user" size="30">
        <span class="textfieldRequiredMsg">obligatorio</span></span>
          </label>
          <br>
          <br>
    <label>
      Ingrese su contraseña <br>
      <span id="sprytextfield2">
      <input name="pass" type="password" class="razones" id="pass" size="30">
      <span class="textfieldRequiredMsg">obligatorio</span></span>
      </label>
        </h2>
        <p>
          <label>
          <input name="button" type="submit" class="razones" id="button" value="entrar">
          </label>
          <br>
        </p>
      </form>
Login.php
Código:
<?php
session_start();
include("login.class.php");
$login=new login();
$login->inicia(3600, $_POST['user'], $_POST['pass']);
?>
login.class.php
Código:
<?php
class login {
// Inicia sesion
public function inicia($tiempo=3600, $usuario=NULL, $clave=NULL) {	
	if ($usuario==NULL && $clave==NULL) {
		// Verifica sesion
		if (isset($_SESSION['idusuario'])) {
			//echo "Estas logeado";
		} else {
			// Verifica cookie
			if (isset($_COOKIE['idusuario'])) {
				// Restaura sesion
				$_SESSION['idusuario']=$_COOKIE['idusuario'];
			} else {
				// Si no hay sesion regresa al login
				header( "Location: web_final.php" );
			}
		}
	} else {
		$this->verifica_usuario($tiempo, $usuario, $clave);
	}
}	
//  Verifica login
private function verifica_usuario($tiempo, $usuario, $clave) {
	if ($usuario=="demo" && $clave=="demo") {
		// Si la clave es correcta
		$idusuario=$this->codificar_usuario($usuario);
		setcookie("idusuario", $idusuario, time()+$tiempo);
		$_SESSION['idusuario']=$idusuario;
		header( "Location: clientes/accionatv.php" );
	} else {
		// Si la clave es incorrecta
		header( "Location: entrar.php?error=1" );
	}
}
// Codifica idusuario 
private function codificar_usuario($usuario) {
	return md5($usuario);
}
}
?>
webfinal.html
Código:
<?php
session_start();
include("../login.class.php");
$login=new login();
$login->inicia();
?>
Resulta que con este tipo de codigo sin ocupar BD se puede hacer un simple login de 1 solo usuario, lo que no he podido lograr es en vez de tener 1 usuario para login, sea multisuario, osea tener 8 usuarios, y por ejemplo al ingresar el usuario 1 se vaya a pagina1.html y que el usuario 2 se vaya a pagina2.htm, etc.

¿Como hago para modifica el login.class.php para que sea multiusuario?

¿Se pùede transformar este codigo para ocuparlo con usuarios en BD y como?


EL codigo php asi tal cual funciona bien, osea con 1 solo usuario, pero nesecito hacerlo con mas de 1 usuario, en la parte del login.class.php es donde van los usuarios, si se fijan esto no usa base de datos, los usuarios se agregan manualmente.

Ayuda, porfavor, es para la U :/
  #2 (permalink)  
Antiguo 28/07/2009, 12:15
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 4 meses
Puntos: 46
Respuesta: Ayuda con PHP / Login usuario sin BD

una opcion es tener un archivo, en donde estructures el usuario, privilegios y paginaprincipal

algo como esto
usuario1|paswd|home1.html
usuario2|****|home2.html

y realizar la busqueda en este y de ahi reditreccionar a uno o otro index

suerte y cualquier cosa estamos por aqui
  #3 (permalink)  
Antiguo 28/07/2009, 13:02
Avatar de Ratzinger  
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ayuda con PHP / Login usuario sin BD

Cita:
Iniciado por lair Ver Mensaje
una opcion es tener un archivo, en donde estructures el usuario, privilegios y paginaprincipal

algo como esto
usuario1|paswd|home1.html
usuario2|****|home2.html

y realizar la busqueda en este y de ahi reditreccionar a uno o otro index

suerte y cualquier cosa estamos por aqui

mmm y como seria eso?

Última edición por Ratzinger; 28/07/2009 a las 18:09
  #4 (permalink)  
Antiguo 28/07/2009, 19:59
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 4 meses
Puntos: 46
Respuesta: Ayuda con PHP / Login usuario sin BD

mira puedes probar con algo como esto, de ahi en adelante solo tendras que adaptalo a lo que especificamente necesitas

Código PHP:
<?php
    
//captura el nombre de usuario que se pasa por el parametro
    
$usua=$_GET['usuario'];
    
//captura la contrasenia
    
$pswd=$_GET['contras'];
    
//muestra los datos que recibio
    
echo "<br>Usuario: ".$usua;
    echo 
"<br>Contrasena: ".$pswd."<br><br>";
    
    
//este archivo contiene las cuentas y los homes
    
$ruta='login/cuentas.txt';
    
//carga el archivo de logins
    
$archivo=file($ruta);
    
//cuenta las lineas en el archivo
    
$lineas=count($archivo);
    for(
$i=0$i<$lineas$i++){
        
/*
            estructura cada registro (linea) en un array
            de la siguiente manera
            $reg[0]=>usuario
            $reg[1]=>password
            $reg[2]=>home de este usuario
        */
        
$reg=explode('|',$archivo[$i]);
        
/*si alguno de los registros coinside con los parametros
          resividos incluye el home que se especifica ahi
        */
        
if($reg[0]==$usua && $reg[1]==$pswd){
            
//esta linea es la que redirige
            
header('Location:homes/'.$reg[2]);
        }
    }
    
//si ninguno de los registros coinside manda este mensaje
    
echo("ACCESO RESTRINGIDO");
?>
el archivo de cuentas contiene lo siguiente:
Cita:
usuario1|paswd|index.html
usuario2|contr|home1.php
lair|123|home2.php
suerte y cualquier cosa por aqui estamos
  #5 (permalink)  
Antiguo 28/07/2009, 20:06
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Ayuda con PHP / Login usuario sin BD

Hola , como estás , mira sinceramente no es recomendable usar archivos de texto plano para crear sistemas de login , yo lo que te recomendaria es que si no tenes motor mysql , en tu server o sql server o mssql o cual fuera , diseñes un sistema de login via fichero .htaccess modificados mediante un intranet o a mano , ya que son mas seguros y sino de pronto en el directorio donde alojes tu .txt o donde guardes tus datos de login , crees un.htaccess que prohiba listar el directorio , sino un google bot tranquilamente puede hallar tu fichero y es un problema .

La forma de securizar un directorio utilizando htaccess la encuentras aqui en el foro o en google , es muy simple.

Saludos
  #6 (permalink)  
Antiguo 28/07/2009, 21:40
Avatar de Ratzinger  
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ayuda con PHP / Login usuario sin BD

htacces ... es muy dificil?

Digo por que programacion mm, estoy aprendiendo.

Por eso preguntaba en mi primer post, si se puede agregar mas "usuarios" al codigo que tengo yo actualmente y al momento de ingresar un usuario "x" se dirija a la web de el y el usuario "xx" se dirija a su web y no a la de "x".

esop, igual habia leido que login en .txt ges inseguro, pero es facil.
  #7 (permalink)  
Antiguo 28/07/2009, 21:50
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Ayuda con PHP / Login usuario sin BD

No , es relativamente simple te dejo un par de links para que lo mires:

http://www.sitepoint.com/article/guide-url-rewriting/

http://granadaphp.agenciaq4.com/?p=35

pues claro que tienes que tener instalado en tu servidor el mod_rewrite :) pero sinceramente desconozco servidor incluso localhost que no tengan dicho sistema , es decir mod_rewrite.

Saludos
  #8 (permalink)  
Antiguo 29/07/2009, 08:57
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 4 meses
Puntos: 46
Respuesta: Ayuda con PHP / Login usuario sin BD

bueno, lo que dicen es cierto pero aun asi una forma para evitar eso seria encriptando el contenido del archivo que yo te pase el metodo mas facil seria con un md5 y de esa manera aun cuando lo accedan, su contenido estaria encriptado
  #9 (permalink)  
Antiguo 29/07/2009, 09:06
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Ayuda con PHP / Login usuario sin BD

Si con md5 seria simple , lo que se podria hacer para darle mayor seguridad es md5 y htaccess , pero sinceramente ya md5 es como base64 a mi gusto , hay miles de formas de romper el hash y saber que cadena es la original que esta encriptada , por eso siempre que se pueda combinar con otros metodos , bienvenido sea.

Saludos
  #10 (permalink)  
Antiguo 29/07/2009, 09:17
Avatar de Ratzinger  
Fecha de Ingreso: noviembre-2008
Mensajes: 22
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ayuda con PHP / Login usuario sin BD

perfecto, voi a jugar con eso de htacess :)


gracias!!
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 14:10.