Soy relativamente nuevo en el desarrollo web, así que sea paciente.
Soy principalmente un desarrollador de iPhone, pero recientemente he hecho un sitio para otra persona que usa hosting compartido. Podría escribir bien en archivos en PHP en ese sitio, sin tener que pensar en los permisos.
Estoy en el proceso de implementar un servicio web para una nueva aplicación que estoy creando, pero en realidad no funciona sin problemas. La diferencia más importante aquí es que estoy usando el servidor de otra persona, y solo tengo acceso FTP / DB.
Básicamente, tengo una carga de archivos PHP que componen mi CMS, así:
mysite.com/admin/manage_news.php
mysite.com/admin/manage_events.php
Esas secuencias de comandos editan la base de datos o los archivos. Pueden interactuar con el DB bien, sin embargo, mis scripts no pueden escribir en el sistema de archivos. Podrían, por ejemplo, intentar escribir en los siguientes archivos:
mysite.com/data/img/event_1.png
mysite.com/data/somefile.txt
Esto funcionó bien en mi instalación de MAMP (localmente), pero una vez implementado en el servidor, PHP arrojó errores cada vez que se intentó escribir ... algo como esto:
No se pudo abrir el archivo "../data/img/someimage.png" para escribir.
Así que le envié un correo electrónico al tipo que está ejecutando el servidor, y él regresó diciendo:
¿Funciona con permiso público? (777)
Y lo hizo, pero fui muy cauteloso con el uso de permisos públicos, así que lo deshabilité de inmediato. Le envié un correo electrónico diciéndole "cómo puedo hacer que mis scripts PHP escriban usando permisos de usuario estándar", y dijo:
Déjalo como público, estará bien
Creo que es un conflicto de IP en algún lugar de la resolución del dominio, pero no me preocupa.
Luego le envié un correo electrónico diciendo "seguramente esto es inseguro" o algo por el estilo, y respondió con lo siguiente:
la realidad es que hay millones de sitios web, incluidos varios que administro que tienen 777 en varias carpetas, es solo una forma de vida.
¿Alguien podría darme una idea de una solución que podría darle? ¿O qué puedo hacer para evitar tener que usar 777? Realmente no me gusta la idea de que las carpetas de mi sitio / servicio puedan escribirse públicamente.
Le agradecería mucho su consejo ya que sé muy poco acerca de los servidores web.