php pci-compliance

Desactivando expose_php en php.ini



pci-compliance (4)

Se me ha informado que tener expose_php = On en mi php.ini es un problema de seguridad y, por lo tanto, no es compatible con PCI.

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

Los posibles problemas en los que estoy pensando son los 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 impecable o tiene el potencial de problemas?


Eso es correcto.

La configuración de expose_php = Off simplemente evita que el servidor web devuelva el encabezado X-Powered-By .

Si bien se podría decir que los posibles piratas informáticos podrían buscar versiones desactualizadas de PHP con agujeros de seguridad para explotar, potencialmente podrían hacer lo mismo incluso si el encabezado estuviera desactivado. En mi opinión, es algo bueno, pero no espere 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 utilizados por cualquier plataforma y no solo por PHP.

En cualquier caso, el hecho de que confíen en la versión PHP del "consumidor" es inútil, ya que el encabezado se puede desactivar fácilmente y quizás incluso manipularlo el administrador del servidor.

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


No debe haber efectos secundarios negativos cuando deshabilita expose_php .

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

Cualquier aplicación de terceros que se basa en el encabezado es dudosa. Siempre se puede falsificar el encabezado si es necesario.


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

Sin embargo, si lo desactivas no agregará ninguna seguridad a tu sitio. Esas herramientas de script para niños son tan tontas que nunca se molestan en distinguir una plataforma de otra.

Sin mencionar que si su sitio está basado en un framework / CMS, no tiene sentido ocultar la presencia de PHP de todos modos.


No hay ninguna amenaza a la seguridad de ninguna manera, pero exponer una versión obsoleta de PHP puede ser una invitación para que los piratas informáticos intenten explotar "agujeros" bien documentados en versiones anteriores.

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

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