Estoy escribiendo una aplicación PHP grande (con configuración) por primera vez y me pregunto cuáles son las precauciones de seguridad que debo tomar para los permisos.
setup.php usa fopen/fwrite para generar un config.php basado en datos POST que provienen de setup.php. Esto funciona, pero parece que no puedo escribir en config.php a menos que le establezca permisos en 777
.
Config.php esencialmente contendrá las credenciales de la base de datos en variables PHP (que se incluirán ()), ¿es bueno dejarlo como 777
?
Me pregunto si está bien o si debería indicarle al usuario que cambie los permisos a algo como 655 (no estoy seguro).
Respuesta1
Debe tener los permisos de archivo configurados en los necesarios para realizar el trabajo en cuestión. Puede ser 777 para la instalación y 644 para ejecutar la aplicación.
Cada vez que se ejecuta su aplicación, debe verificar que los permisos (en archivos y rutas críticos) sean los que desea y luego emitir un mensaje de error y detener la ejecución de la aplicación si no es así.
Respuesta2
Muchas aplicaciones PHP requieren que configures config.php en 777 mientras se instala el producto. Creo que esto es perfectamente aceptable, pero se debe advertir al usuario que el archivo debe volver a establecerse en 644 cuando se complete la instalación.
Otra solución es hacer que el usuario codifique el config.php con la configuración de la base de datos. Sin embargo, esto complica las cosas para algunos usuarios nuevos.