Pregunta sobre Developing with WordPress de Wordpress:

Seguridad de subprocesos en temas infantiles, plugins

Un usuario preguntó 👇

Hola,

Recién estoy comenzando con el desarrollo de WordPress y felizmente he estado agregando código a las funciones .php de mi tema infantil y los archivos fuente que lo acompañan. No he podido encontrar ninguna documentación sobre seguridad de subprocesos con WordPress + Apache, aparte de la documentación que indica que puede haber algunos problemas dependiendo de si Apache está usando pthreads o no.

Mi problema es que quiero establecer una configuración única de una clase de asistente para administrar alguna configuración para mi imagen de CDN.

$cloudinary = new CloudinaryImageCDN('https://res.cloudinary.com/mytoken',
                                                 $defaultWidth,
                                                 $imageBreakpoints,
                                                 $imageWidths);

Desde mis días en C y Java (sí, soy viejo), las pesadillas de seguridad de subprocesos parecen estar esperando suceder, desde entonces $cloudinary Es global. Soy nuevo en PHP, por lo que soy menos consciente de las consecuencias en PHP.

Para PHP, ¿habría un mejor enfoque para usar un solo patrón y método de fábrica dentro de la clase CloudinaryImageCDN? Supongo que todavía tendré que preocuparme por la seguridad de los subprocesos si hago eso, ya que, en teoría, el método de fábrica podría llamarse desde varios subprocesos simultáneamente.

FYI, para mi caso específico estoy alojando en WPEngine.

Según la página phpinfo (obtenida con el plugin phpinfo), la seguridad del hilo de PHP está deshabilitada en mi host. No tengo idea acerca de la configuración de Apache de mi host para pthreads.

(@diondesigns)

Hace 2 años, 7 meses

La seguridad de los hilos es un problema de PHP, no de Apache. Pregunte a WPEngine si PHP está configurado como un módulo de Apache o si Apache es un proxy para el controlador FastCGI. El primero es de la vieja escuela y necesita seguridad en los hilos. Este último ejecuta PHP como el usuario que posee el sistema de archivos orientado a la web y no requiere seguridad de subprocesos. Busque la suite «Server API» cerca de la parte superior de la salida de phpinfo; le dirá cómo se especifica PHP.

Lo que necesita es PHP-FPM («FPM / FastCGI» en phpinfo). Es de vanguardia, rápido y seguro.

(@catacaustica)

Hace 2 años, 7 meses

PHP es mejor diferente de C y Java. La gran mayoría de las veces, es una aplicación única, una ruta única, una ejecución de un solo hilo. Los valores no se comparten entre los ejecutados.

Solo Apache realmente usa subprocesos, pero los subprocesos individuales no interactúan entre sí. Al menos no en la forma en que funcionan los hilos en otros idiomas.

(@mhartfield)

Hace 2 años, 7 meses

WPEngine parece usar el controlador de Apache en lugar de FastCGI:
Server API Apache 2.0 Handler

Estoy charlando con el soporte para averiguar los detalles del caso WPEngine. Parece que tienen un sistema personalizado para solicitar una cola de la caché al sitio web, por lo que es posible que solo envíen una aplicación / proceso a la vez.

(@mhartfield)

Hace 2 años, 7 meses

Bueno, eso fue frustrante … El soporte de WPEngine me envió Stack Overflow para obtener información sobre la seguridad de los hilos de PHP. Gracias WPEngine: – /. El partidario dijo que Apache WPEngine usa subprocesos a nivel del sistema operativo, por lo que la seguridad de los subprocesos es una preocupación, asumiendo que sabe de qué está hablando.

¿Algún consejo sobre prácticas generales de diseño / codificación sobre cómo manejar la seguridad de subprocesos en un entorno de subprocesos apache / PHP7, donde la seguridad de subprocesos está deshabilitada?

(@diondesigns)

Hace 2 años, 7 meses

Realmente es solo Apache el que usa hilos

Esto no es realmente cierto cuando PHP está configurado para ejecutarse como un módulo de Apache (mod_php).

En cuanto a lo que vale … lo haría Nunca usó alojamiento multiusuario en el mismo servidor y PHP se configuró para ejecutarse como un módulo de Apache. En ese momento, un compromiso en el sitio de WordPress de un usuario puede tener acceso por escrito al directorio wp-content / uploads en todos los demás sitios de WP en el servidor.

Un host de calidad utilizará PHP-FPM o evitará php-cgi a través de mod_fcgid. Un anfitrión que quiera hacer lo correcto pero no sepa cómo hacer lo anterior usará mod_cgid, SuPHP y php-cgi (seguro pero lento). Un host que ha vivido en la década anterior utilizará mod_php (inseguro en hosting compartido y «revendedor», o en cualquier servidor con múltiples usuarios que ejecuten scripts PHP orientados a la web).

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *