2012-03-08 12 views
28

Me han informado que tener expose_php = On en mi php.ini es un problema de seguridad y, por lo tanto, no cumple con PCI.Desactivando expose_php en php.ini

Mi investigación hasta ahora sugiere que apagarlo es de bajo riesgo y esencialmente dejará de devolver la versión de PHP en el encabezado, sin embargo, me pregunto si es probable que haya algún problema que aparezca en la parte posterior de este documento. cambio.

Posibles problemas que estoy considerando son servicios de terceros (proveedores de pago, sistemas de seguimiento de correo electrónico, API de transmisión de video) que esperan que responda con un encabezado que indique que está ejecutando una versión de PHP, posiblemente sobre una determinada versión.

¿Debería ser un cambio continuo o tiene el potencial de problemas?

Respuesta

45

Eso es correcto.

La configuración expose_php = Off impide que el servidor web envíe de vuelta el encabezado X-Powered-By.

Si bien se podría decir que los piratas informáticos potenciales podrían buscar versiones desactualizadas de PHP con agujeros de seguridad para explotar, podrían hacer lo mismo, incluso si el encabezado se desactivó. En mi opinión, es algo bueno que hacer, pero no esperes que ofrezca mucha protección.

En términos de interacción con servicios de terceros, no deberían tener que preocuparse por la versión de PHP que está utilizando. Deben poder servir contenido en formatos independientes de la plataforma como JSON, XML, etc., para que los servicios puedan ser consumidos por cualquier plataforma y no solo por PHP.

En cualquier caso, para ellos depender de la versión PHP del "consumidor" es inútil, ya que el encabezado puede ser fácilmente desactivado e incluso manipulado por el administrador del servidor.

Por lo tanto, no debería ser un problema para apagarlo.

7

No debe haber efectos secundarios negativos cuando deshabilita expose_php.

Todo lo que hace es eliminar el encabezado X-Powered-By y detener a los parámetros GET para que no devuelvan créditos e imágenes de PHP.

Cualquier aplicación de terceros que confía en el encabezado es dudosa. Siempre puede falsificar el encabezado si es necesario.

+0

¿Cómo obtener créditos e imágenes de php con GET? – user4271704

+0

@ user4271704 http://stackoverflow.com/q/10458610/31671 – alex

3

No hay ningún daño en tener esta opción activada o desactivada.

Sin embargo, apagarlo no agregará ninguna seguridad a su sitio. Esas herramientas script-kiddie son tan tontas que nunca se molestan en contar una plataforma desde otra.

Sin mencionar que si su sitio está basado en un framework/CMS, de todos modos es inútil ocultar la presencia de PHP.

3

No existe una amenaza a la seguridad de ninguna manera, pero exponer una versión obsoleta de PHP puede ser una invitación para que los hackers intenten y exploten 'agujeros' bien documentados en versiones anteriores.

En cuanto a los servicios de terceros, son independientes de la plataforma y no deberían preocuparse por la versión de PHP que estamos utilizando. Si es necesario, podemos establecer simplemente un encabezado vacío o como a continuación.

header('X-Powered-By: Venu'); 
+0

O simplemente elimínelo por completo con ['header_remove ('X-Powered-By')'] (http://www.php.net/header_remove) . – Pang