1 votos

¿Cómo evitar que PHP en un virtualhost/sitio web escribir a otro virtualhost ' s/web ' directorio de s en el mismo servidor Apache?

Quiero prevenir virtualhost #1 a partir de la escritura o de la lectura a virtualhost #2 sin perder la escritura de acceso a la www-data (debido a que las aplicaciones necesitan para escribir en el directorio).

Mi configuración del sitio actual se parece a esto:

<VirtualHost *:80>
  ServerName example.com
  ...
  DocumentRoot /var/www/example.com/public/
  ...
</VirtualHost>

<VirtualHost *:80>
  ServerName example.org
  ...
  DocumentRoot /var/www/example.org/public/
  ...
</VirtualHost>

Ambos tienen los siguientes tipos de permisos:

drwxrws--- webmaster-com www-data example.com
drwxrws--- webmaster-org www-data example.org

Mi problema es que el código PHP/scripts ejecutados en example.org puede leer las configuraciones de la example.com sitio web, a menudo, con MySQL contraseñas en él.

1voto

Mas Bagol Puntos 319

El uso de directiva de configuración de PHP open_basedir.

open_basedir string

El límite de los archivos que pueden ser accedidos por PHP en el directorio especificado-árbol, incluyendo el propio archivo. La presente directiva NO se ve afectada por el hecho de si el Modo Seguro está Encendido o Apagado.

Para configurarlo por virtualhost, uso php_admin_value directiva de configuración como esta:

<VirtualHost *:80>
  ServerName example.com
  ...
  DocumentRoot /var/www/example.com/public/
  php_admin_value "open_basedir" "/var/www/example.com/"
  ...
</VirtualHost>

<VirtualHost *:80>
  ServerName example.org
  ...
  DocumentRoot /var/www/example.org/public/
  php_admin_value "open_basedir" "/var/www/example.org/"
  ...
</VirtualHost>

Asegúrese de utilizar php_admin_value y no llanura php_value porque:

php_admin_value name value

Establece el valor de la directiva especificada. Esto no puede ser utilizado en la .archivos htaccess. Cualquier tipo de directiva establezca con php_admin_value no puede ser reemplazado por .htaccess o ini_set().

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: