Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2013
georkis georkis is offline
Miembro
 
Registrado: abr 2008
Ubicación: Cuba
Posts: 39
Poder: 0
georkis Va por buen camino
Talking Problemas con la función explode();

Bueno, estoy haciendo una script que crea usuario en el fichero .htpasswd, para encryptar contraseña... ya logré que abra el fichero y me lee el contenido del fichero, ahora lo que quiero es que haga una lista con los usuarios solamente hasta el delimitador ":", porque apartir de los dos punto es que comienza la contraseña... esta script cuando pongo la array $list[0]; me pone el usuario, pero cuando le pongo $list[$i], me pone la contraseña... este es el código...

Código PHP:
<?php
$passwd 
="hunter"//poner $_POST['usuario']
$user="koko.santiesteban"// poner $_POST['passwd']

    
$salt substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 08);
    
$len strlen($passwd);
    
$text $passwd.'$apr1$'.$salt;
    
$bin pack("H32"md5($passwd.$salt.$passwd));
    for(
$i $len$i 0$i -= 16) { $text .= substr($bin0min(16$i)); }
    for(
$i $len$i 0$i >>= 1) { $text .= ($i 1) ? chr(0) : $passwd{0}; }
    
$bin pack("H32"md5($text));
    for(
$i 0$i 1000$i++) {
        
$new = ($i 1) ? $passwd $bin;
        if (
$i 3$new .= $salt;
        if (
$i 7$new .= $passwd;
        
$new .= ($i 1) ? $bin $passwd;
        
$bin pack("H32"md5($new));
    }
    for (
$i 0$i 5$i++) {
        
$k $i 6;
        
$j $i 12;
        if (
$j == 16$j 5;
        @
$tmp $bin[$i].$bin[$k].$bin[$j].$tmp;
    }
    
$tmp chr(0).chr(0).$bin[11].$tmp;
    
$tmp strtr(strrev(substr(base64_encode($tmp), 2)),
    
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
   
$path="user";
//Encripto la contraseña conMD5
//Defino la cadena a insertar en el archivo
$cadena=$user.":"."$"."apr1"."$".$salt."$".$tmp."\r\n";
//Inserto un nuevo registro
//Abro el fichero htpasswd
$Anadir=fopen($path"a");
$lines=count(explode("\n"file_get_contents($path))); //cuenta las lineas del fichero para 
#Escribimos la cadena dentro de el
$delimitador ":";
fputs($Anadir$cadena);
#$list = explode($delimitador,$contenido);
for ($i=0$i<$lines$i++){
$list=explode($delimitadorfile_get_contents('user'));

echo 
$list[$i]. "<br>";

}
#Cerramos el fichero
fclose($Anadir);


?>
Bueno, espero que me ayuden... la script le falta... validación si el usuario existe... modificar y eliminar... pero estoy trabajando en eso...
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas en funcion KroSaver Varios 34 21-02-2013 17:44:05
Tipo split o explode de un texto Panasys Tablas planas 2 18-04-2008 04:33:49
comando split ó explode en delphi srangel Internet 2 09-05-2006 19:17:55
Problemas con funcion RoundTo vick Varios 2 12-10-2005 02:12:35
Problemas con funcion bbjb Varios 10 27-09-2004 18:08:19


La franja horaria es GMT +2. Ahora son las 10:41:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi