Busqueda de archivos en RED LAN con PHP??

Iniciado por sk1pp3r, 18 Octubre 2012, 19:55 PM

0 Miembros y 3 Visitantes están viendo este tema.

RevangelyonX

Hola

Haz la siguiente prueba:

If (file_exists("Y")
....

Si te encuentra la unidad posiblemente el problema sea los separadores
"/" que hay que invertirlos a "\".
Ya nos dices

Salu2
Just Linux
OSCP certified

sk1pp3r

Hola. gracias por la ayuda.

Sabes, ya hice la prueba que me proponer, ya use / y \ y '  y tmb " y todo lo que me pude imaginar, pero nadamas esta madre no jala :S

alguna idea de por donde atacar el problema?

Saludos!

RevangelyonX

Hola,

Te ajunto lo que he probado:

>net share

Nombre       Recurso                         Descripción

-------------------------------------------------------------------------------
...
Users        C:\Users
...

>net use Y: \\127.0.0.1\Users /user:Administrador
Se ha completado el comando correctamente.


>php -a
Interactive mode enabled

<?php
        
if(file_exists("Y:")){
                echo 
"It exists!";
        } else {
                echo 
"Error!";
        }
?>

^Z
It exists!
>


Entonces he probado buscando un fichero como tu caso:


>dir Y:\administrator
El volumen de la unidad Y es WINDOWS
El número de serie del volumen es: 30BE-C1F6

Directorio de Y:\administrator

03/08/2011  21:35    <DIR>          .
03/08/2011  21:35    <DIR>          ..
16/08/2012  14:45           262.144 NTUSER.DAT
               1 archivos        262.144 bytes
               2 dirs  111.489.581.056 bytes libres

>php -a
Interactive mode enabled

<?php
        
if(file_exists("Y:\administrator\ntuser.dat")){
                echo 
"NTUSER.DAT exists";
        } else {
                echo 
"NTUSER.DAT does not exists";
        }
?>

^Z
NTUSER.DAT does not exists
>


Me lo da FALSE

Agrego doble slash:

>php -a
Interactive mode enabled

<?php
        
if(file_exists("Y:\\administrator\\ntuser.dat")){
                echo 
"NTUSER.DAT exists";
        } else {
                echo 
"NTUSER.DAT does not exists";
        }
?>

^Z
NTUSER.DAT exists
>


Ya me dices si te funciona.
Salu2.
Just Linux
OSCP certified

sk1pp3r

Que tal bro.

Mira, ya hice la prueba y nadamas no jalo :S

De hecho ya habia hecho esa combinacion.

Probe con esto en una UNIDAD NO MAPEADA Y FUNCIONA

C://////wamp\\barimage.bmp

Se me hace raro :S

Por lo que veo no tiene entonces que ver con los slash y eso, sigo pensando que son permisos pero no se como hacerlo :(

saludos y gracias.

sk1pp3r

Ya no soporto mas, eh puesto esos datos que necesito en FTP.

Ahora lo que intento hacer es conectarme a esa directorio FTP por medio de PHP para poder buscar el archivo que desee el usuario por medio de un formulario.

Voy a checar la manera de como buscar ficheros dentro de varios directorios.

Saludos!

RevangelyonX

Hola!

Que raro...
Para probar los permisos ejecuta:


<?php
  system
("dir Y:");
?>


Debería de lanzarte algún error por pantalla.
Puedes decirme de que manera mapeas la unidad? ya está mapeada o bien la mapea el propio PHP?

Mañana le doy vueltas aver.
Un saludo y paciencia! jeje.
Just Linux
OSCP certified

sk1pp3r

Que tal, gracias.

Mira, con esto en D: me manda lo siguiente:

El volumen de la unidad D es DATA El n£mero de serie del volumen es: 4857-7ECC Directorio de D:\ 14/08/2012 09:40
Documents Basura 24/10/2012 18:02
Dropbox 25/10/2012 18:42
FTP 23/09/2012 18:14
msc bb 29/09/2012 11:25
Music 10/10/2012 18:05
Reparacion.Mantenimiento.Celulares.6CDs 29/09/2012 11:19
TORRENT 0 archivos 0 bytes 7 dirs 25.739.247.616 bytes libres


En las unidades mapeadas no me manda ningún mensaje de ningún tipo.


Ya he probado a eliminar las unidades mapeadas y a volverlas a agregar y tampoco.

La unidad la mapeo así:

En mi Win7 me voy a equipo, menú herramientas, conectar a unidad de red, selecciono letra a asignar a la unidad y selecciono de mi red el equipo deseado y luego el directorio a conectarme. y listo. Se agrega la unidad Y a mi equipo.

Saludos!

RevangelyonX

Hola

Ok veamos. Ejecuta esto en el cmd:
net use

Debería devolverte un lista con las unidades mapeadas. En la columna izquierda debe de ponee "Conectado".

Si efectivamente estás conectado. Desde cmd ejecuta

Dir Y:

A ver que te devuelve.

Si no está conectado. Ejecuta:

Net use y: /del
Net use y: \\ip.del.servidor.de.archivos


Y verifica si puedes ejecutar un dir y: desde cmd y luego desde el PHP.
Ya me dices
Just Linux
OSCP certified

sk1pp3r

Ah caray, esto me ha sorprendido demasiado!

NET USE

C:\Users\user3559>net use
Se registrarán las nuevas conexiones.


Estado       Local     Remoto                    Red

-------------------------------------------------------------------------------
Conectado    X:        \\Servidor\fe             Microsoft Windows Network
Conectado    Y:        \\SERVIDOR\pdfs        Microsoft Windows Network
Desconectado LPT1      \\user3559pc\LexmarkX264  Microsoft Windows Network
Desconectado           \\VTAS13\IPC$             Microsoft Windows Network
Se ha completado el comando correctamente.


DIR Y: desde ms-dos
Me lista todas las carpetas y subcarpetas....

Desde PHP nadamas nada :( Me aparece limpia la pantalla sin nada de codigo fuente. Además de que con el administrador de tareas veo que cuando se ejecuta la funcion dir desde php se acelera pero solo menos de 1 segundo y yap.

No muestra nada.

Saludos!

RevangelyonX

#19
Hola,

Ok, haz una cosa, desde CMD dirigete a donde tengas tu php.exe.
yo tengo un wamp por lo tanto mi ruta es la siguiente:


C:\wamp\bin\php\php5.3.5>dir php.exe
El volumen de la unidad C es WINDOWS
El número de serie del volumen es: 30BE-C1F6

Directorio de C:\wamp\bin\php\php5.3.5

07/01/2011  11:29            28.739 php.exe
              1 archivos         28.739 bytes
              0 dirs  108.707.291.136 bytes libres



Cuando estés en la ruta haz lo siguiente:

C:\wamp\bin\php\php5.3.5>php -a
Interactive mode enabled



php -a permite programar en PHP de manera interactiva, de esta manera no dependes del navegador.

Escribe el siguiente código:
<?php
        error_reporting
(E_ALL);
        
system("dir Y:");
        
system("dir \\SERVIDOR\pdfs");
?>



Cuando hayas terminado el código presiona CNTRL+Z

DE manera que verás algo similar a esto:


C:\wamp\bin\php\php5.3.5>php -a
Interactive mode enabled

<?php
        error_reporting
(E_ALL);
        
system("dir Y:");
        
system("dir \\SERVIDOR\pdfs");
?>

^Z
El volumen de la unidad Y es WINDOWS
......
......



Esperemos que así te devuelva algún error...
Salu2
Just Linux
OSCP certified