Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2004, 17:33
soy-yo
 
Fecha de Ingreso: noviembre-2003
Mensajes: 51
Antigüedad: 20 años, 5 meses
Puntos: 0
Problemas con fopen y permisos. ¿cual es la manera correcta de trabajar?

Hola, un saludo a todos,

Les voy a comentar una duda/problema que tengo en php y no acabo de entender, despues de haber mirado todo en google php.net etc...

Antes de nada comentaros que hasta ahora yo no habia tenido este problema ya que no trabajaba con archivos en php , siempre lo hacia con BD, pero debido a una aplicacion que me han pedido he de utilizar archivos, lo que me hizo pensar en las funciones de php como fopen, fwrite, etc... pero me encuentro con el siguiente problema que el archivo.php que ha de crear el archivo me da error en la funcion fopen a no ser que le de a la carpeta permisos 0777 o 0757 en definitiva el ultimo (el de todo el mundo) ha de ser 7 y creo que esto es un agujero de seguridad ¿ no es asi ?, despues de darle permisos totales el codigo funciona bien pero se crea el archivo con dueño y grupo99 el codigo es el siguiente:

ignore_user_abort(true);
$file="/home/dominio/public_html/carpeta/.estadisticas";

if (!(file_exists($file)))
{
if (!($fo= fopen($file,"w+"))){
echo "Lo sentimos pero existe un problema con esta pagina, <br/>".
"consulta al <a href=mailto:[email protected]?subject=Pagina%20con%20pro blemas%20error=3459 >webmaster</a>.";
exit;
}}
else if (!($fo= fopen($file,"r+")))
{
echo "Lo sentimos pero existe un problema con esta pagina, <br/>".
"consulta al <a href=mailto:[email protected]?subject=Pagina%20con%20pro blemas%20error=3459 >webmaster</a>.";
exit;

}
fclose($fo);
ignore_user_abort(false);

Si utilizo el archivo despues de darle a la carpeta permisos 777:

Me funciona correcto y se crea un archivo con grupo y usuario 99.


Si el archivo que ha de crear fopen lo creo yo y lo subo al server, con mi grupo y yo como dueño osea, grupo: dominio y dueño: 32187 y con permisos 0664 ( la carpeta sigue teniendo permisos 777) tampoco funciona ya que php, por lo que se ve funciona como usuario y grupo 99 y no puede acceder a mi archivo, me da el siguiente mensaje:

Warning: fopen(/home/dominio/public_html/carpeta/.estadisticas): failed to open stream: Permission denied in

/home/dominio/public_html/carpeta/archivo.php on line 66
(Este error no me preocupa ya que es por no poder cerrar un archivo , que no se ha abierto)
Warning: fclose(): supplied argument is not a valid stream resource in /home/dominio/public_html/carpeta/archivo.php on line 74

¿Es normal esta manera de trabajar con php???
Mi SO es linux red hat en un hosting remoto, con cpanel y php 4.2.x sobre apache 1.3.xx.
Creo que ya hay suficiente informacion ya me direis.
¿conoceis algun link a manual referente a este tema?
gracias

Última edición por soy-yo; 31/05/2004 a las 18:07