Foros del Web » Programando para Internet » PHP »

Cargar un archivo de linux y modificarlo en PHP

Estas en el tema de Cargar un archivo de linux y modificarlo en PHP en el foro de PHP en Foros del Web. hola foro.. pues voy hacer lo siguiente: una interfaz grafica donde se cargen las listas negras de linux ( /etc/squid/listas/porno1 ) y que el usuario ...
  #1 (permalink)  
Antiguo 23/03/2005, 10:51
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
Cargar un archivo de linux y modificarlo en PHP

hola foro..

pues voy hacer lo siguiente:

una interfaz grafica donde se cargen las listas negras de linux ( /etc/squid/listas/porno1 )

y que el usuario le pueda agregar y quitar urls u palabras que no quiera que aparescan y reiniciar el squid para que surta efecto los cambios

para reinicias el squid me imagino que se usara un system ('service squid restart '); algo asi no?

pero para cargar el archivo y sustituirlo?

  #2 (permalink)  
Antiguo 23/03/2005, 13:11
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
oora quien nadie sabe??'
  #3 (permalink)  
Antiguo 23/03/2005, 14:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo que tratas de hacer .. depede de los permisos de PHP que tengas .. podrás o no abrir el archivo.

Para abrir el archivo .. tan sólo debes usar las funciones de acceso a archivos tipo fopen() .. fread() .. o fgets() y fwrite() para escribirlo .. No sé que formato tendrá tu archivo .. pero supongo que será una lista de URL's separadas por un \n (una línea un URL) ...

Ahora, que tengas permisos para acceder desde PHP a esa ruta que queda completamente fuera de unas resitricciones con "safe_mode" u "open_base_dir" y otras .. eso ya es tema que lo pruebes.

Sobre ejecutar el comando para reiniciar Squit .. si es ese y lo puedes ejecutar por system() .. o exec() .. etc ... (si es que tienes permisos para hacer eso .. es probable que PHP con el usuario que sale al sistema no pueda .. tendrás que cambiar de usuario con "sudo" (si es que dispones de el) para tomar el usuario que necesites: root? .. no sé .. siempre he reiniciando Squit como servicio con Root .. no lo he probado bajo otro usuario)

Un saludo,
  #4 (permalink)  
Antiguo 23/03/2005, 16:23
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
Primeramente gracias por contestar CLuster

mira el problema es qu al hacerle un fopen(""), no me abre el archivo por que esta fuera de apache (/var/www/html) , ese el el problema el archivo se ubica en

/etc/squid/listas/porno1 // listas de restriccion

y deja comentarte que el servidor es dela empresa osea que lo tengo fisicamente aqui a mi lado, solo por dato
  #5 (permalink)  
Antiguo 23/03/2005, 19:50
 
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 249
Antigüedad: 20 años, 4 meses
Puntos: 0
Perdón, si te entiendo mal... Pero te refieres a que lo tienes en la misma máquina, cierto? Pues, deberías cambiarle en linux los permisos a ese archivos, para que cualquiera pueda cambiarlo (permisos 777), ya que cuando utilizas php entras como invitado (o al menos es como siempre he entrado hasta a mi servidor).

No estoy seguro de esto, pero deberías darle un vistazo a la configuracion de pp y apache, ya que esto que tratas de hacer es un bug que había en versiones anteriores de PHP (así me robaron un sistema de topsites :S)

Un saludo.
__________________
Crónicas de un Programador es un sitio que registra lo que ocurre cada día en la vida de un desarrollador. Aquí, intentaremos contar nuestras experiencias diarias, errores, aciertos y técnicas, que pueden llegar a serles de utilidad.
  #6 (permalink)  
Antiguo 24/03/2005, 07:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por The_omars
Primeramente gracias por contestar CLuster

mira el problema es qu al hacerle un fopen(""), no me abre el archivo por que esta fuera de apache (/var/www/html) , ese el el problema el archivo se ubica en

/etc/squid/listas/porno1 // listas de restriccion

y deja comentarte que el servidor es dela empresa osea que lo tengo fisicamente aqui a mi lado, solo por dato
Ya que tienes el control de tu servidor .. No sé que configuración de PHP usas .. pero ya te comenté que una configuración de PHP "Safe_mode" restringe ese tipo de accesos a PHP fuera de su "documentroot" .. también afecta el valor (directorio) que indica en open_base_dir = .. (php.ini) ..

En fin .. si colocas el error .. se podría ver algo sobre que configuración o restricción concreta está afectando .. por lo menos para que "autorices" ese acceso remoto al menos .. o bien tengas que cambiar permisos de acceso al archivo (como te coment Charcab)

Un saludo,
  #7 (permalink)  
Antiguo 24/03/2005, 07:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
No estoy seguro de esto, pero deberías darle un vistazo a la configuracion de pp y apache, ya que esto que tratas de hacer es un bug que había en versiones anteriores de PHP (así me robaron un sistema de topsites :S)
No es un "bug" de PHP .. sino simple y llamanmente .. -mala confinguración- o nula de PHP.

Muchos servicios de hosting instalan PHP "por defecto" y eso no ajusta NADA de restricciones sobre el "ambito" de PHP al moverse por el sistema de archivos del servidor. Otras restricciones más "duras" como usar "safe_mode" hacen que tengas que tener más cuidado con el código que usas, establecer permisos de archivos correctos .. etc. En servicios de hosting "compartido" cuando hacen eso .. la gente se suele quejar (y eso que es por el bien de todos y la seguridad) .. así que lamentablemente a PHP la mayoría de servicios de hosting no le prestan la suficiente atención para un "afinamiento" en su configuración ...

Un saludo,
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:19.