open_basedir restriction

Asked by Xabi

No tengo mucho conocimiento en servidores y no se si es el lugar adecuado para esta pregunta. Si es así perdonen y me dicen.

Instale un servidor en DigitalOcean con JackTheStripper y tengo el siguiente problema.

Estoy trabajando con PHP y Europio y para la carga de archivos desde formularios sigo este ejemplo:
http://wiki.europio.org/virtualbooks/bookpage/ver/15

Utilizo FileInfo para verificar el tipo MIME, pero me da un warning porque no tiene acceso al la carpeta tmp. Este es el warning que me lanza:
Warning: finfo::file(): open_basedir restriction in effect. File(/tmp/phpDFvqLN) is not within the allowed path(s): (/srv/websites/) in /srv/websites/midominio/application/common/helper.php on line 19

Warning: finfo::file(/tmp/phpDFvqLN): failed to open stream: Operation not permitted in /srv/websites/midominio/application/common/helper.php on line 19

¿Tendría que cambiar la ruta de open_basedir en el php.ini? o ¿como lo haria para que pudiera acceder a tmp?

Question information

Language:
Spanish Edit question
Status:
Solved
For:
JackTheStripper Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Eugenia Bahit (eugeniabahit) said :
#1

open_basedir es una de las directivas del archivo php.ini (http://php.net/manual/es/ini.core.php#ini.open-basedir) a la cual JackTheStripper modifica su valor por /srv/websites

Esta directiva interfiere con otras tantas directivas, entre ellas, con upload_tmp_dir tal como se explica en la documentación oficial de PHP: http://php.net/manual/es/ini.core.php#ini.file-uploads

Modificar el valor de dichas directivas a implementar soluciones alternativas son decisiones de diseño que exceden las funcionalidades de JackTheStripper y corren por cuenta del programador.

No obstante y, si bien la solución a implementar dependará finalmente del análisis de múltiples factores entorno a la aplicación, una lectura integral de la guía de seguridad oficial de PHP (http://php.net/manual/es/security.php) así como de la «PHP Security Guide» (http://phpsec.org/projects/guide/) elaborada por el «PHP Security Consortium» (http://phpsec.org/) pueden aportar gran parte de la información necesaria para tomar una decisión de diseño adecuada en cada caso.