Foros del Web » Programando para Internet » PHP »

contraseñas sin base de datos

Estas en el tema de contraseñas sin base de datos en el foro de PHP en Foros del Web. hola amigos, tengo que proteger con usuario y password una pagina html, no tengo base de datos, como lo podria hacer, creo que una vez ...
  #1 (permalink)  
Antiguo 14/03/2007, 12:29
Avatar de hendrix  
Fecha de Ingreso: agosto-2003
Ubicación: chile lindo
Mensajes: 1.109
Antigüedad: 20 años, 8 meses
Puntos: 7
contraseñas sin base de datos

hola amigos,

tengo que proteger con usuario y password una pagina html, no tengo base de datos, como lo podria hacer, creo que una vez lo hice pero no recuerdo.

necesito crear mas de un usuario con distintas password por ej:

usuaio 1 pass1
usuario2 pass2
usuario3 pass3
....................

si se ingresa el usuario y pass correctas se redireccione a la pagina html que tiene la info.

favor enviarme un ejemplo descriptivo

gracias
  #2 (permalink)  
Antiguo 14/03/2007, 12:37
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 17 años, 10 meses
Puntos: 6
Re: contraseñas sin base de datos

sin base datos... se trata de un javascript

consulta en ese tema

Saludos,
__________________
sEIK! -Chile-
Analista Programador.
  #3 (permalink)  
Antiguo 14/03/2007, 13:55
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: contraseñas sin base de datos

Articulo en http://deerme.org/web/sec/php/sub/Tips/id/52

Código PHP:
<?
// Autentifacion Multiple/Basica Utilizando $_SERVER['PHP_AUTH_USER'] y $_SERVER['PHP_AUTH_PW']
// By DeeRme
// http://deerme.org


// Listado de Usuarios Permitidos
$lista[0]['user']='pepe';
$lista[0]['pw']='cables';

$lista[1]['user']='juanito';
$lista[1]['pw']='uchile';

$lista[2]['user']='kiko';
$lista[2]['pw']='654123';

function 
autentificar($u,$p)
{
     global 
$lista;
     
     foreach (
$lista as $datos)
     {
          if ( (
$datos['user'] == $u) AND ($datos['pw'] == $p)   )
          {
               return 
TRUE;
        }
    }
    return 
FALSE;     
     
}
    
// $PHP_AUTH_USER,$PHP_AUTH_PW
    
    
$user $_SERVER['PHP_AUTH_USER'];
    
$pass $_SERVER['PHP_AUTH_PW'];
    if ( !
autentificar($user,$pass) )
    {
        
header('WWW-Authenticate: Basic realm="Acceso restringido"');
        
header('HTTP/1.0 401 Unauthorized');
        echo 
'Autentifacion No Valida';
        exit;
    }
   
    
// Contiuamos la Carga del Sitio
    
echo "Datos Correctos";    
   






?>
// Codigos HTML aqui
Simplemente debes editar la lista de usuarios, puedes agregar cuantos usuarios quieras, recuerda que es un array

Saludos

PD : Probado en PHP4 y Apache 1.3.33

Última edición por DeeR; 14/03/2007 a las 14:00 Razón: edit
  #4 (permalink)  
Antiguo 14/03/2007, 14:28
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: contraseñas sin base de datos

Una manera de hacerlo (pero poco segura), es hacer lo siguiente:

Código PHP:
<?
if(!($fpfopen ("pass.txt""r"))) die ("No se puede consultar el fichero");
$texto_documento fread($fp2000000); 
fclose ($fp);
$username="perro";
$password="gato";
$flag=0;
$texto=split("%",$texto_documento);
for(
$i=0;$i<count($texto);$i++){
    
$datos=split(":",$texto[$i]);
    if((
strcmp($username,$datos[0])==0) && (strcmp($password,$datos[1])==0)){
        
$flag=1;
    }
}
if(
$flag!=0)
    echo 
"CORRECTO";
else
    echo 
"NO EXISTE COINCIDENCIA";
?>
Donde el fichero pass.txt contiene lo siguiente:

Código:
perro:gato%uno:dos

Quiero decir que el comentario de Seik no tiene lógica alguna.

Cita:
sin base datos... se trata de un javascript

Quiero aclarar que sólo es un ejemplo para demostrar que es posible hacer algo así, pero como comente en un principio, la seguridad es este ejemplo es NULA, salvo que el fichero pass.txt estuviese bajo un directorio protegido, al cual solo tuviese acceso de lectura el usuario con que se realiza la consulta (por lo general el usuario bajo Unix es www-data).
  #5 (permalink)  
Antiguo 15/03/2007, 23:12
Avatar de hendrix  
Fecha de Ingreso: agosto-2003
Ubicación: chile lindo
Mensajes: 1.109
Antigüedad: 20 años, 8 meses
Puntos: 7
Re: contraseñas sin base de datos

gracias a todos
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 22:09.