Foros del Web » Programando para Internet » PHP »

Escritura de archivos en LAN

Estas en el tema de Escritura de archivos en LAN en el foro de PHP en Foros del Web. Hola quetal ^^, veo que las cosas por aquí han mejorado bastante y el FAQ ha aumentado considerablemente :D. Tema : Escritura de archivos en ...
  #1 (permalink)  
Antiguo 28/01/2009, 07:03
 
Fecha de Ingreso: diciembre-2008
Ubicación: Bogotá
Mensajes: 19
Antigüedad: 15 años, 10 meses
Puntos: 0
Escritura de archivos en LAN

Hola quetal ^^, veo que las cosas por aquí han mejorado bastante y el FAQ ha aumentado considerablemente :D.


Tema : Escritura de archivos en una LAN (Local Area Network)

Bien como se que aquí están los mejores, me tome la osadia de comentar mi problema.

1. Diseñe una página sencilla para poder llevar un control de solicitudes y dejar todos los registros con
una estructura especifica en algún lugar de la LAN de la empresa.
2. Los archivos son creados con extensión .txt y en su creación se acceden con a+t (Para dejar el puntero al final
y manejar caracteres de escape en archivos planos).
3. Cada día que transcurre inmediatamente se crea un directorio en determinada ruta, tanto el directorio como
el archivo tienen chmod(0777);
4. En la creación de la carpeta todo funca bien.

Descripción del problema.

1. Cuándo creo el archivo y lo escribo, al parecer no se puede ejecutar exitosamente la función fwrite,
ya que al abrirlo no se muestra lo que contiene y se genera una infracción al intentar borrarlo, jejeje además que
bloquea la aplicación que lo intenta abrir.

2. Cuándo realicé las pruebas localmente todo salió bien, pero cuándo cambie la ruta a un disco compartido
en la LAN presentó el inconveniente descrito en el anterior punto.

¿Qué he hecho hasta el momento?.

1. Le di permisos a cada caperta y arhivo creado con 0777.
2. Intente probar varios metodos de acceso al archivo cuando se invoca fopen, pero aun nada ¬¬.

(Supongo que la unica manera de poder borrar los archivos creados es haciendoló directamente desde el servidor. Servidor
al cuál no tengo acceso LOL.).

Codigo de prueba para la escritura del archivo

Código PHP:
<?
  $archivo 
"j:\\coco.txt";
  
$mensaje "¿changos que pasará?\n";
  
$fp fopen($archivo,"a+t");
  if (
$fp){
  
    echo 
"Todo bien abriendo/creando archivo.<br>";
    if(
fwrite($fp,$mensaje)){
        echo 
"Todo bien escribiendo archivo.<br>";
    }else{
        echo 
"No se pudo escribir en el archivo :S<br>";
        
    }    
    
    if(
fclose($fp)){
        echo 
"Todo bien Cerrando archivo.<br>";
    }
  }    
  if (
chmod($archivo,0777)){
    echo 
"Todo bien dando permisos al archivo.<br>";
  }
?>
Resultados de la prueba.
- Cuando es localmente se obtiene el siguiente resultado.

Todo bien abriendo/creando archivo.
Todo bien escribiendo archivo.
Todo bien Cerrando archivo.
Todo bien dando permisos al archivo.

- Cuando es en LAN se obtiene el siguiente resultado.

Todo bien abriendo/creando archivo.
Error escribiendo en el archivo :S.
Todo bien Cerrando archivo.
Todo bien dando permisos al archivo.

Bueno, no siendo más agradecería enormemente si pueden darme alguna idea o instrucción para solventar
este inconveniente. :D

Greetings to All and Happy BandWidth.
  #2 (permalink)  
Antiguo 28/01/2009, 11:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Escritura de archivos en LAN

Hola dmks,

Verifica que el usuario bajo el que se esta corriendo PHP (que generalmente es el mismo de tu servidor web) tiene permisos de escritura / lectura en el share que estas montando.

Saludos
  #3 (permalink)  
Antiguo 28/01/2009, 11:59
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 18 años, 6 meses
Puntos: 4
Respuesta: Escritura de archivos en LAN

Ummm pero tratandose de un empresa no crees que sera muy bulnerable que sea un archivo .txt?

Ummm la verda no encajaria en el entorno de trabajo a no ser que estes enviando informacion minima o no muy necesaria para dicha empresa.

Pero yo recomiendo hacer uso de MySQL ya que desde cualquier PC conectada a la red LAN tendra acceso a la MySQL con una conexion segura de User y Password.

Solo necesitas crear un server MySQL y listo ;).
  #4 (permalink)  
Antiguo 28/01/2009, 19:24
 
Fecha de Ingreso: diciembre-2008
Ubicación: Bogotá
Mensajes: 19
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Escritura de archivos en LAN

^^, bueno pues aclarando un poco más las cosas pasa lo siguiente :

1. Si tengo permisos de léctura y escritura. De hecho la tarea que quiero simplificar la hago manualmente entonces es mucho más fácil meter los campos en un formulario estando desde cualquier lugar de la empresa a tener que ir a mi PC y realizar dicho trabajo.

2. Actualemte tambien uso MySQL, pues guardo los datos más relevantes del archivo que estoy guardando, ya que posee una secuencia y una serie de categorias al momento de ingresar los datos al formulario.

3. En cuanto a vulnerabilidad, mmmmm pues tiene la función htmlspecialchars(), fgetss() para obtener la info de lo archivos lo cuál me brinda seguridad evitando los XSS y me protejo usando una sesión fuertemente cifrada.

4. Lo que no cuadra es esa definición de permisos... :( sin embargo seguiré investigando haber que más puedo encontrar dentro de la configuración de PHP.

Muchas gracias por sus respuestas :), si pueden darme otra idea se los agradeceria bastante ;)
  #5 (permalink)  
Antiguo 28/01/2009, 22:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Escritura de archivos en LAN

Me refiero a los permisos del usuario bajo el que se ejecuta IIS, ya que muchas veces tu al verlo por el explorador de windows estas usando tu usuario pero IIS o Apache se ejecutan bajo otro usuario, y ese usuario es el que es probable que solo tenga permisos de lectura, y por eso el problema.

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 13:05.