Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: sk1pp3r en 18 Octubre 2012, 19:55 pm



Título: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 18 Octubre 2012, 19:55 pm
Que tal, buen día.

Tengo una duda, existe alguna forma de que a traves de un formulario de una página web dentro de mi LAN busque archivos en determinada pc?

Por ejemplo tengo un server con win2003 donde hay guardados miles de archivos pdf identificados por nombre y fecha de creación. Entonces la búsqueda se vuelve un lio.

Quisiera programa una interfaz web para realizar la búsqueda desde mi pc que esta en LAN con el Server. La búsqueda la haría por nombre o por fecha de creación.

Estaba viendo que la  función file_exists no me sirve.

Saludos!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 18 Octubre 2012, 20:31 pm
Hola
Deberias crear un script que buscara archivos en local.
Una vez lo tengas. Mapea la unidad del servidor y ya podras buscar en red.

Salu2


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 18 Octubre 2012, 20:41 pm
No quiero tener que meterme con ms dos o alguna aplicación desktop, ya que tendria que crear una para cada usuario que se conecta al server, cosa que no es factible ya que hay demaciados usuarios.

Es lo que te entendi.

saludos


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 18 Octubre 2012, 22:34 pm
Hola
Pues quuzá el que no ha entendido la pregunta soy yo.

Quierrs crear una aplicación web que busque archivos en otro servidor o que busque archivos en cada pc que se conecte a la web?

Si es la primera opcion, la solución es la que te digo: si tu servidor web está por ejemplo en un servidor windows de ip 1.1.1.1 y tu win server es 2.2.2.2. Entonces en tu web server mapeas la unidad Z: con la ip 2.2.2.2 por ejemplo y el codigo tiene que atacar a la unidad Z.

Si no es eso lo que quieres puedes explicarte con más detalle.

Salu2


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 18 Octubre 2012, 23:11 pm
Es como la primer opción que mencionas.

He alli el problema, ya que no quiero que los usuarios vean todos los archivos de golpe, ya que se los podrían llevar a sus casas y eso no va con las políticas de la empresa jojo.

Aunque posiblemente exista alguna opción dentro de los nodos winxp y demás para ocultar la unidad mapeada...


Con esto supongo que no existe forma alguna en que desde php se consulten ficheros en determinada pc, ya sea lan o internet...

Saludos


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 18 Octubre 2012, 23:54 pm
Espera espera

Supongamos que la web que esta en la ip 1.1.1.1 esta programada en PHP. Es en este servidor donde mapeas una unidad hacia el otro servidor. Haces la busqueda en PHP y lo muestras por pantlla. Es decir, solo la pagina web tendra acceso real a los arvhivos del servidor windows. Los clientes no podran acceder a los archivos, solo veran lo que tu quieras mostrar.

Salu2

PD: No es necesario que utilices MSDOS con PHP puedes mapear unidades.


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 19 Octubre 2012, 00:20 am
O tengo un chingo de sueño y no ya me enrede o estoy medio wey haha

Servidor de Archivos - Un server donde están los ficheros a manipular... su IP = 1.1.1.1

Servidor Web - Una pc que la hace de servidor web donde esta alojada la interfaz php que buscará y mostrará los ficheros PDFs IP = 1.1.1.2

Clientes - PCS con WinXP y otros OS, IP = 1.1.1.3 hasta 1.1.1.100. Estos PCs se conectaran a la IP 1.1.1.2 para interactuar con la pagina web y hacer búsqueda de PDFS.

Veo que tendría que mapear una unidad en Servidor Web, (o sea Ficheros \\1.1.1.1 )así desde PHP encontraría los archivos requeridos "localmente".  Y obviamente así los CLIENTES no verían mapeada la unidad en sus pcs. :D


Saludos! y Salud! con Cerveza INDIO :D


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 19 Octubre 2012, 11:04 am
Hola
Si esa es la idea que te propongo. Es lo que buscas? Jeje.
Salu2


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 19 Octubre 2012, 16:22 pm
Vientos! Si, veo bastante factible este método.

Saludos y gracias otra vez.


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 25 Octubre 2012, 00:55 am
Maldita sea!!

No puedo lograr consultar archivos de la unidad mapeada :S

Tengo este código sencillo para hacer la primer prueba básica:

Código:
<?php
$nombre_fichero = 'Y:/eliminar/jaja.txt';
echo $nombre_fichero;
echo "<br><br><br>";

if (file_exists($nombre_fichero)) {
    echo "El fichero <b> $nombre_fichero existe </b>";
} else {
    echo "El fichero <b> $nombre_fichero </b> no existe";
}
?>

El archivo jaja.txt esta en la unidad Y que esta mapeada. Esta unidad tiene permisos de lectura y escritura. Y lo he comprobado porque si navego desde el explorador de windows directamente sobre Y me deja crear, borrar y modificar archivos.

El mensaje  es que NO EXISTE, cuando en realidad si. He probado lo mismo con un archivo en la unidad C y si funciona.

Estaba viendo que posiblemente tenga que ver con los permisos que se ejecuta WAMP Apache en mi equipo. (Esta como SISTEMA LOCAL), lo cambie a otro usuario con permisos administrativos y reinicie WAMP pero sigue lo mismo.

Alguna idea?

Mi SO WIn7 Ultimate 32B  WAMP 2.2

Saludos!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 25 Octubre 2012, 09:48 am
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


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 25 Octubre 2012, 16:36 pm
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!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 25 Octubre 2012, 20:02 pm
Hola,

Te ajunto lo que he probado:

Código:
>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:

Código:
>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:

Código:
>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.


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 25 Octubre 2012, 21:05 pm
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.


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 26 Octubre 2012, 01:56 am
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!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 26 Octubre 2012, 02:14 am
Hola!

Que raro...
Para probar los permisos ejecuta:

Código:
<?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.


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 26 Octubre 2012, 16:19 pm
Que tal, gracias.

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

Código:
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!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 26 Octubre 2012, 18:31 pm
Hola

Ok veamos. Ejecuta esto en el cmd:
Código:
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:

Código:
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


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 26 Octubre 2012, 19:13 pm
Ah caray, esto me ha sorprendido demasiado!

NET USE
Código:
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!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 27 Octubre 2012, 16:18 pm
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ódigo:
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ódigo:
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:
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ódigo:
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


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: sk1pp3r en 27 Octubre 2012, 17:45 pm
Que tal, ahora me ha mandado de resultado esto:

Código:
C:\wamp\bin\php\php5.3.10>php -a
Interactive mode enabled

<?php
        error_reporting(E_ALL);
        system("dir Y:");
        system("\\SERVIDOR\pdfs");
?>
^Z
 El volumen de la unidad Y no tiene etiqueta.
 El número de serie del volumen es: A0F3-7215

 Directorio de Y:\
.
.
.

              68 archivos     72.506.204 bytes
              38 dirs  11.619.323.904 bytes libres
El sistema no puede encontrar la ruta especificada.

C:\wamp\bin\php\php5.3.10>

Por lo que veo si me lista los ficheros y directorios.

Es bueno o es malo esto?

Saludos!


Título: Re: Busqueda de archivos en RED LAN con PHP??
Publicado por: RevangelyonX en 12 Enero 2013, 19:15 pm
Hola,

Se que el mensaje es ya antiguo, pero com traigo la solución pues la posteo:

Este es el código que si funciona:

Código:
<?php

$password = "mi_pass";
$user = "Administrador";

// Elimino previamente la unidad por si existiera (para hacer F5 en el ejemplo básicamente)
if (system("net use z: /del > nul", $red)){
echo "<br/> Eliminado";
}

// Mapeamos la unidad
if (system("net use z: \\\\127.0.0.1\\c$ $password /user:$user", $red)){
echo "Unidad Mapada";
} else {
echo "Error"; //para ver qué error, hay que leer error.log de apache.
}

if (file_exists("Z:")){
echo "<br/>La unidad existe<br/>";
system("dir Z:");
} else {
echo "<br/>La unidad no existe";
}

?>

Al final es apache quien mapea la unidad mediante PHP y entonces si que puedes trabajar con la unidad.

Salu2