Pregunta

Los privilegios chmod estándar son "644" para archivos y "755" para los directorios, ¿verdad?

En la mayoría de los casos, PHP no necesita escribir en archivos o directorios. Por lo tanto, no podía yo tener los privilegios de escritura de todos los grupos?

Me podría asignar "444" a todos los archivos y "555" a todos los directorios.

¿No sería más seguro?

Gracias de antemano!

Nota:. chmod() está en mi lista disable_functions de PHP

¿Fue útil?

Solución

Los permisos predeterminados para los archivos y directorios de nueva creación son establecidos por la href="http://en.wikipedia.org/wiki/Umask" rel="nofollow noreferrer"> umask variable de entorno

Si no es necesario el uso chmod en su aplicación, y luego dejarlo en su lista de bloqueo. La forma en que debería mirar es la seguridad: Mucha gente más inteligente que yo tengo ahora como para dar chmod de las partes más seguras de mi solicitud. Por lo tanto, voy a pasar mi tiempo disponible haciendo las otras partes seguras.

La fabricación de su aplicación de sólo lectura, en el servidor, es buena idea hacer si automatizarlo. Cuando se realizan cambios a su código de aplicación, que va a hacer las cosas muy difíciles para usted sin embargo. En algún momento, usted ir y venir, hacer algunos cambios en el código y ponerlos a prueba en el servidor ... y luego se olvidó de restablecer su archivo / permisos de directorio copia de sólo lectura.

Si sólo se tiene en cuenta 1 usuario en su máquina de producción, que sólo se quedaría con el valor por defecto permissions- cosas probablemente se manejan para usted. O se puede eliminar el grupo y "otros" permisos, como se describe a continuación.

Una configuración típica de producción, sería tener un grupo de aplicaciones que pertenece. También desea que un usuario diferente para ejecutar la aplicación php. Mantenga todos los permisos para el propietario y el grupo, y eliminar todos los permisos del "otro". De esta manera:

  • Los desarrolladores mantener sus nombres de usuario individuales - se puede realizar un seguimiento de lo que hizo cuando
  • .
  • y otros desarrolladores puede copiar nuevo código en el servidor.
  • La aplicación se puede ejecutar el código.
  • La aplicación no puede acceder a cualquier cosa fuera del código.
  • No hay otros usuarios más puede ver su código.

supongo que el trabajo de otra persona para administrar el servidor de producción? Pasarán tiempo para asegurarse de que nadie puede entrar y curiosear. Aunque sí es necesario para asegurarse de que nadie puede ejecutar comandos del sistema operativo, creo que el mejor lugar para empezar es aprender acerca de XSS . La configuración del servidor de PHP por defecto debería estar bien. La parte menos seguro de la aplicación, es la única parte que haya visto. Si alguien va a tener acceso a una llamada al sistema, lo más probable es que sea a través de un formulario. Incluso si se eliminan las llamadas al sistema, las formas son aún susceptibles de almacenar Javascript. A menos que usted está almacenando tarjetas de crédito en la aplicación, el objetivo más probable sería la contraseña / sesión en el navegador del usuario.

Otros consejos

No es más seguro desde PHP siempre puede hacer chmod 777 incluso en archivos de 000 chmod (si es que son propiedad de PHP). Sin embargo, es más seguro, ya que no se puede escribir en el mismo sin chmoding ellos antes.

Lo siento por mi Inglés.

Me refiero en tres razones posibles.

  1. Comprobar safe_mod de la bandera en su php.ini, si es safe_mod ON que tal vez obtener algunos problemas con esa función.
  2. Si ha Plesk, tener problemas si crea carpetas o archivos con otro usuario que no ha sido creado con Plesk.
  3. probable es que se echa en falta una biblioteca de php.
  

chmod() está en mi lista disable_functions de PHP.
  ¿No sería más seguro?

disable_functions es posible desactivar funciones específicas.
Si chmod() aparece en la directiva disable_functions, no es seguro para su uso; está desactivado, simplemente, y el código PHP que utiliza chmod() generará una advertencia.

El disable_functions Directiva no debe confundirse con el modo seguro directivas . disable_functions es aún activa cuando el safe_mode directiva se establece en 0; cuando safe_mode está activado, algunas funciones son discapacitados, o están restringidas.

Para aviso de que el modo seguro se considera obsoleto, en PHP 5.3; Esto significa que la directiva todavía se acepta en PHP 5.3, pero podría ser que no se usan más en cualquier momento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top